• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Please help, Im having a crash expierence

Status
Not open for further replies.
Level 10
Joined
May 24, 2016
Messages
339
Could anyone help me? For now I only expierenced it in the last update of my map on multiplayer session, and I cant re make the crash it in a 1-2 player game session

All I added a simple set terrain defformation

JASS:
set bj_lastCreatedTerrainDeformation = TerrainDeformCrater(GetUnitX(f), GetUnitY(f), 1012., 350, R2I(12.00*1000), true)
call KillUnit(f)
nothing wrong with x and y, stable reals
 
Last edited:
Level 10
Joined
May 24, 2016
Messages
339
I lied a little. I also added local sound
JASS:
function SoundPlayGeneralForPlayer takes string path, real pitch, player whichPlayer, boolean isloop returns sound
        local sound snd = CreateSound(path, isloop, false, false, 10, 10, "DefaultEAXON")
        // Stuff that must be performed immediately upon creation of sounds
        call SetSoundChannel(snd, 0)
        call SetSoundVolume(snd, 127)
        call SetSoundPitch(snd, pitch)
        // The sound will have no volume for unwanted players
        if GetLocalPlayer() != whichPlayer then
            call SetSoundVolume(snd, 0)
        endif
        call StartSound(snd)
        if isloop == false then
            call KillSoundWhenDone(snd)
        endif
        return snd
    endfunction

function GoldSoundCallback takes nothing returns nothing
        call SoundPlayGeneralForPlayer("Abilities\\Spells\\Items\\ResourceItems\\ReceiveGold.wav", 1.0, GetEnumPlayer(), false)
    endfunction


function example ....

call ForForce(HumanForce, function GoldSoundCallback) // just a global force, it never gets destroyed 

endfunction
 
Level 10
Joined
May 24, 2016
Messages
339
I also added a cinematic addition to the starting scenes

I should have been more clear with u guy
It's made kinda lazy, so I believe it might also be a reason

JASS:
function StartScene13 takes nothing returns nothing

    if IsPlayerInForce(GetLocalPlayer(), HumanForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalCam4, true, 0.)


    endif
    call TriggerExecute(gg_trg_PalStart) // the trigger that was running all before in all versions
    //if not PlayerIsActive(Player(0)) then
   
    call RemoveUnit(gg_unit_Udre_0915)
  //  endif
 
    if IsPlayerInForce(GetLocalPlayer(), UndeadForce) then

        call CameraSetupApplyForceDuration(gg_cam_CryptCam, true, 0.)
    endif
        //call CameraSetupApplyForceDuration(gg_cam_CryptCam, true, 0.)
       
    call StopSound(gg_snd_jinglebells__1___1_u, true, true)
    call PlaySoundJ(gg_snd_DarkSummoningLaunch1)
       
    call TimerStart(CreateTimer(), 3.5, false, function DreadLords_Start) // the function that was running all before in all versions
 
 
    call DestroyTimer(GetExpiredTimer())

//call TimerStart(GetExpiredTimer(),2.,false,function StartScene12)

endfunction
function StartScene12 takes nothing returns nothing

    call SetUnitAnimation(gg_unit_nmrk_0784, "stand")
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0915)
    call IssuePointOrder(gg_unit_Udre_0915, "move", 7300, -1014)

//call PauseUnit(gg_unit_Udre_0915,false)

    call TimerStart(GetExpiredTimer(), 4., false, function StartScene13)

endfunction
function StartScene11 takes nothing returns nothing



//call IssuePointOrder(gg_unit_nmrk_0784,"move",7386,-2510)
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalSceneCamInitiation, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 2., false, function StartScene12)

endfunction

function StartScene10 takes nothing returns nothing


    call PauseUnit(gg_unit_Udre_0915, false)
    call IssueImmediateOrder(gg_unit_Udre_0915, "holdposition")
    call IssuePointOrder(gg_unit_hfoo_0652, "move", 7386, -2510)
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalSceneCamInitiation, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 2., false, function StartScene11)

endfunction
function StartScene9 takes nothing returns nothing



    call IssuePointOrder(gg_unit_nmrk_0784, "polymorph", 7116, -3302)



    call TimerStart(GetExpiredTimer(), 1., false, function StartScene10)

endfunction
function StartScene8 takes nothing returns nothing




    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalCam2, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 3., false, function StartScene9)

endfunction
   
function StartScene7 takes nothing returns nothing
    call RemoveUnit(gg_unit_Hpal_0624)
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0818)
    call RemoveUnit(gg_unit_Udre_0818)
    call RemoveUnit(gg_unit_Hpal_0702)
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0912)
    call RemoveUnit(gg_unit_Udre_0912)
    call RemoveUnit(gg_unit_Nalc_0701)




//if IsPlayerInForce(GetLocalPlayer(),HumanForce) then
//call CameraSetupApplyForceDuration(gg_cam_PalCam2, true, 0.)
//endif


    set S = " |c00FBE14F Обсерватория даёт просвет и берёт под контроль стражника  "
//endif
    call SetUnitAnimation(gg_unit_nmrk_0784, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetUnitX(gg_unit_nmrk_0784), GetUnitY(gg_unit_nmrk_0784), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)

    call TimerStart(GetExpiredTimer(), 5., false, function StartScene8)

//call TimerStart(GetExpiredTimer(),2.,false,function StartScene8)
endfunction
function StartScene6 takes nothing returns nothing
    set BetterZombify = false
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene3, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
   
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then

        call CameraSetupApplyForceDuration(gg_cam_PalCam, true, 2.)
    endif

       
       
    call TimerStart(GetExpiredTimer(), 2.5, false, function StartScene7)
endfunction
function StartScene5 takes nothing returns nothing
    if PlayerIsActive(Player(6)) then
   
    else
        call ForceRemovePlayer(UndeadForce, Player(6))
    endif
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
   
   
   
    call TimerStart(GetExpiredTimer(), 6., false, function StartScene6)
endfunction

function StartScene46 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call SetPlayerState(Player(6), PLAYER_STATE_RESOURCE_LUMBER, 0)
   
   
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene5)
endfunction

function StartScene45 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call SelectHeroSkill(gg_unit_Hpal_0702, 'AHhb')
    call SetUnitAbilityLevel(gg_unit_Hpal_0702, 'AHhb', 1)
    call IssueTargetOrder(gg_unit_Hpal_0702, "holybolt", gg_unit_Udre_0912)
   
    call TimerStart(GetExpiredTimer(), 0.1, false, function StartScene46)
endfunction
function StartScene44 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    set ScenePreservation = false
    call IssuePointOrder(gg_unit_Udre_0912, "move", 7633., 4432.)
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene45)
endfunction


function StartScene43 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call IssueTargetOrder(gg_unit_Hpal_0702, "attack", gg_unit_Udre_0912)
    call TimerStart(GetExpiredTimer(), 1., false, function StartScene44)
endfunction

function StartScene42 takes nothing returns nothing
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call IssueTargetOrder(gg_unit_Udre_0912, "firebolt", gg_unit_Hpal_0702)
    call IssueImmediateOrder(gg_unit_Nalc_0701, "chemicalrage")
   
    //call IssueTargetOrder(gg_unit_Hpal_0702,"attack", gg_unit_Udre_0912)
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene43)
endfunction

function StartScene41 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene3, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop

    call TimerStart(GetExpiredTimer(), 2., false, function StartScene42)
endfunction

function StartScene4 takes nothing returns nothing
    local integer index = 0
    call SetUnitAnimation(gg_unit_unpl_0136, "stand")
   
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene3), GetRectCenterY(gg_rct_StartScene3), 0.1)
        endif
        index + +
    endloop

    call SetUnitAnimation(gg_unit_halt_0059, "stand")

    call TimerStart(GetExpiredTimer(), 0.1, false, function StartScene41)
endfunction

     //     function StartScene35 takes nothing returns nothing
         
         // call PauseUnit(gg_unit_Udre_0818,true)
//call TimerStart(GetExpiredTimer(),4.,false,function StartScene4)
//endfunction  
function StartScene34 takes nothing returns nothing
    call SetUnitAnimation(gg_unit_unpl_0136, "stand work")
    set S = " |c00FBE14F Делаю апгрейды на нежить за тёмную эссенцию!  "
//endif
    call SetUnitAnimation(gg_unit_halt_0059, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetRectCenterX(gg_rct_UndeadUpgradeCam1), GetRectCenterY(gg_rct_UndeadUpgradeCam1), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 4., false, function StartScene4)
endfunction
function StartScene33 takes nothing returns nothing
    local integer index = 0

   
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_UndeadUpgradeCam1), GetRectCenterY(gg_rct_UndeadUpgradeCam1), 1.5)
        endif
        index + +
    endloop
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 2.5, false, function StartScene34)
endfunction
function StartScene32 takes nothing returns nothing
         
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 5.5, false, function StartScene33)
endfunction
function StartScene31 takes nothing returns nothing
    call RemoveUnit(gg_unit_Hpal_0624)
         
    call UnitAddAbility(gg_unit_Udre_0818, 'A02A')
    call IssueTargetOrder(gg_unit_Udre_0818, "bloodlust", gg_unit_nzom_0913)
//call PauseUnit(gg_unit_nzom_0913,true)
    call IssuePointOrder(gg_unit_hfoo_0694, "attack", GetRectCenterX(gg_rct_StartScene2), GetRectCenterY(gg_rct_StartScene2))
    call TimerStart(GetExpiredTimer(), 1., false, function StartScene32)
endfunction
function StartScene3 takes nothing returns nothing
    local integer index = 0

    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene2), GetRectCenterY(gg_rct_StartScene2), 2.)
        endif
        index + +
    endloop
   
    call SetUnitAnimation(gg_unit_halt_0059, "Stand")
    set BetterZombify = true // only for test scene
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop


    call TimerStart(GetExpiredTimer(), 4., false, function StartScene31)
endfunction



function StartScene22 takes nothing returns nothing
    set S = " |c00FBE14F Делаю апгрейды на стражников за золото!  "
//endif
    call SetUnitAnimation(gg_unit_halt_0059, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetRectCenterX(gg_rct_PalUpgradeCam1), GetRectCenterY(gg_rct_PalUpgradeCam1), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)
    call TimerStart(GetExpiredTimer(), 3.8, false, function StartScene3)
endfunction


function StartScene21 takes nothing returns nothing
    local integer index = 0
//call ForceAddPlayer(UndeadForce,Player(6))
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_PalUpgradeCam1), GetRectCenterY(gg_rct_PalUpgradeCam1), 1.5)
        endif
        index + +
    endloop
    call TimerStart(GetExpiredTimer(), 2, false, function StartScene22)
endfunction


function StartScene2 takes nothing returns nothing
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene1, null)
   
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop
    call SetUnitLife(gg_unit_nfrl_0688, 70)
//call GroupClear(P)
    call ForceAddPlayer(UndeadForce, Player(10))
    call TimerStart(GetExpiredTimer(), 4., false, function StartScene21)
endfunction
       // call PanCameraToTimed(GetRectCenterX(r), GetRectCenterY(r), DistanceXY(GetUnitX(gg_unit_e006_0591),GetUnitY(gg_unit_e006_0591),GetRectCenterX(r), GetRectCenterY(r))/690)
function StartScene1 takes nothing returns nothing
    local integer index = 0
//call ForceAddPlayer(UndeadForce,Player(6))
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene1), GetRectCenterY(gg_rct_StartScene1), 1.)
        endif
        index + +
    endloop

    call TimerStart(GetExpiredTimer(), 1., false, function StartScene2)
endfunction


//Code indented using The_Witcher's Script language Aligner
//Download the newest version and report bugs at www.hiveworkshop.com

function StartScene13 takes nothing returns nothing

    if IsPlayerInForce(GetLocalPlayer(), HumanForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalCam4, true, 0.)


    endif
    call TriggerExecute(gg_trg_PalStart)
    //if not PlayerIsActive(Player(0)) then
   
    call RemoveUnit(gg_unit_Udre_0915)
  //  endif
 
    if IsPlayerInForce(GetLocalPlayer(), UndeadForce) then

        call CameraSetupApplyForceDuration(gg_cam_CryptCam, true, 0.)
    endif
        //call CameraSetupApplyForceDuration(gg_cam_CryptCam, true, 0.)
       
    call StopSound(gg_snd_jinglebells__1___1_u, true, true)
    call PlaySoundJ(gg_snd_DarkSummoningLaunch1)
       
    call TimerStart(CreateTimer(), 3.5, false, function DreadLords_Start)
 
 
    call DestroyTimer(GetExpiredTimer())

//call TimerStart(GetExpiredTimer(),2.,false,function StartScene12)

endfunction
function StartScene12 takes nothing returns nothing

    call SetUnitAnimation(gg_unit_nmrk_0784, "stand")
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0915)
    call IssuePointOrder(gg_unit_Udre_0915, "move", 7300, -1014)

//call PauseUnit(gg_unit_Udre_0915,false)

    call TimerStart(GetExpiredTimer(), 4., false, function StartScene13)

endfunction
function StartScene11 takes nothing returns nothing



//call IssuePointOrder(gg_unit_nmrk_0784,"move",7386,-2510)
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalSceneCamInitiation, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 2., false, function StartScene12)

endfunction

function StartScene10 takes nothing returns nothing


    call PauseUnit(gg_unit_Udre_0915, false)
    call IssueImmediateOrder(gg_unit_Udre_0915, "holdposition")
    call IssuePointOrder(gg_unit_hfoo_0652, "move", 7386, -2510)
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalSceneCamInitiation, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 2., false, function StartScene11)

endfunction
function StartScene9 takes nothing returns nothing



    call IssuePointOrder(gg_unit_nmrk_0784, "polymorph", 7116, -3302)



    call TimerStart(GetExpiredTimer(), 1., false, function StartScene10)

endfunction
function StartScene8 takes nothing returns nothing




    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then
        call CameraSetupApplyForceDuration(gg_cam_PalCam2, true, 2.)


    endif


    call TimerStart(GetExpiredTimer(), 3., false, function StartScene9)

endfunction
   
function StartScene7 takes nothing returns nothing
    call RemoveUnit(gg_unit_Hpal_0624)
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0818)
    call RemoveUnit(gg_unit_Udre_0818)
    call RemoveUnit(gg_unit_Hpal_0702)
    call GroupRemoveUnit(DreadLords, gg_unit_Udre_0912)
    call RemoveUnit(gg_unit_Udre_0912)
    call RemoveUnit(gg_unit_Nalc_0701)




//if IsPlayerInForce(GetLocalPlayer(),HumanForce) then
//call CameraSetupApplyForceDuration(gg_cam_PalCam2, true, 0.)
//endif


    set S = " |c00FBE14F Обсерватория даёт просвет и берёт под контроль стражника  "
//endif
    call SetUnitAnimation(gg_unit_nmrk_0784, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetUnitX(gg_unit_nmrk_0784), GetUnitY(gg_unit_nmrk_0784), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)

    call TimerStart(GetExpiredTimer(), 5., false, function StartScene8)

//call TimerStart(GetExpiredTimer(),2.,false,function StartScene8)
endfunction
function StartScene6 takes nothing returns nothing
    set BetterZombify = false
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene3, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
   
    if IsPlayerInForce(GetLocalPlayer(), PlayerForce) then

        call CameraSetupApplyForceDuration(gg_cam_PalCam, true, 2.)
    endif

       
       
    call TimerStart(GetExpiredTimer(), 2.5, false, function StartScene7)
endfunction
function StartScene5 takes nothing returns nothing
    if PlayerIsActive(Player(6)) then
   
    else
        call ForceRemovePlayer(UndeadForce, Player(6))
    endif
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
   
   
   
    call TimerStart(GetExpiredTimer(), 6., false, function StartScene6)
endfunction

function StartScene46 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call SetPlayerState(Player(6), PLAYER_STATE_RESOURCE_LUMBER, 0)
   
   
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene5)
endfunction

function StartScene45 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call SelectHeroSkill(gg_unit_Hpal_0702, 'AHhb')
    call SetUnitAbilityLevel(gg_unit_Hpal_0702, 'AHhb', 1)
    call IssueTargetOrder(gg_unit_Hpal_0702, "holybolt", gg_unit_Udre_0912)
   
    call TimerStart(GetExpiredTimer(), 0.1, false, function StartScene46)
endfunction
function StartScene44 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    set ScenePreservation = false
    call IssuePointOrder(gg_unit_Udre_0912, "move", 7633., 4432.)
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene45)
endfunction


function StartScene43 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call IssueTargetOrder(gg_unit_Hpal_0702, "attack", gg_unit_Udre_0912)
    call TimerStart(GetExpiredTimer(), 1., false, function StartScene44)
endfunction

function StartScene42 takes nothing returns nothing
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
    call IssueTargetOrder(gg_unit_Udre_0912, "firebolt", gg_unit_Hpal_0702)
    call IssueImmediateOrder(gg_unit_Nalc_0701, "chemicalrage")
   
    //call IssueTargetOrder(gg_unit_Hpal_0702,"attack", gg_unit_Udre_0912)
    call TimerStart(GetExpiredTimer(), 2., false, function StartScene43)
endfunction

function StartScene41 takes nothing returns nothing
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call RemoveUnit(F)
        call GroupRemoveUnit(P, F)
    endloop
  
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene3, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop

    call TimerStart(GetExpiredTimer(), 2., false, function StartScene42)
endfunction

function StartScene4 takes nothing returns nothing
    local integer index = 0
    call SetUnitAnimation(gg_unit_unpl_0136, "stand")
   
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene3), GetRectCenterY(gg_rct_StartScene3), 0.1)
        endif
        index++
    endloop

    call SetUnitAnimation(gg_unit_halt_0059, "stand")

    call TimerStart(GetExpiredTimer(), 0.1, false, function StartScene41)
endfunction

     //     function StartScene35 takes nothing returns nothing
         
         // call PauseUnit(gg_unit_Udre_0818,true)
//call TimerStart(GetExpiredTimer(),4.,false,function StartScene4)
//endfunction  
function StartScene34 takes nothing returns nothing
    call SetUnitAnimation(gg_unit_unpl_0136, "stand work")
    set S = " |c00FBE14F Делаю апгрейды на нежить за тёмную эссенцию!  "
//endif
    call SetUnitAnimation(gg_unit_halt_0059, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetRectCenterX(gg_rct_UndeadUpgradeCam1), GetRectCenterY(gg_rct_UndeadUpgradeCam1), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 4., false, function StartScene4)
endfunction
function StartScene33 takes nothing returns nothing
    local integer index = 0

   
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_UndeadUpgradeCam1), GetRectCenterY(gg_rct_UndeadUpgradeCam1), 1.5)
        endif
        index++
    endloop
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 2.5, false, function StartScene34)
endfunction
function StartScene32 takes nothing returns nothing
         
         // call PauseUnit(gg_unit_Udre_0818,true)
    call TimerStart(GetExpiredTimer(), 5.5, false, function StartScene33)
endfunction
function StartScene31 takes nothing returns nothing
    call RemoveUnit(gg_unit_Hpal_0624)
         
    call UnitAddAbility(gg_unit_Udre_0818, 'A02A')
    call IssueTargetOrder(gg_unit_Udre_0818, "bloodlust", gg_unit_nzom_0913)
//call PauseUnit(gg_unit_nzom_0913,true)
    call IssuePointOrder(gg_unit_hfoo_0694, "attack", GetRectCenterX(gg_rct_StartScene2), GetRectCenterY(gg_rct_StartScene2))
    call TimerStart(GetExpiredTimer(), 1., false, function StartScene32)
endfunction
function StartScene3 takes nothing returns nothing
    local integer index = 0

    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene2), GetRectCenterY(gg_rct_StartScene2), 2.)
        endif
        index + +
    endloop
   
    call SetUnitAnimation(gg_unit_halt_0059, "Stand")
    set BetterZombify = true // only for test scene
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene2, null)
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop


    call TimerStart(GetExpiredTimer(), 4., false, function StartScene31)
endfunction



function StartScene22 takes nothing returns nothing
    set S = " |c00FBE14F Делаю апгрейды на стражников за золото!  "
//endif
    call SetUnitAnimation(gg_unit_halt_0059, "stand work")
    set TX = CreateTextTag()
    call SetTextTagColor(TX, 143, 120, 150, 250) //250
    call SetTextTagText(TX, S, 0.012 ) //14 05
    call SetTextTagPos(TX, GetRectCenterX(gg_rct_PalUpgradeCam1), GetRectCenterY(gg_rct_PalUpgradeCam1), 25)
    call SetTextTagVelocity(TX, 0.02, 0.01) //0.06 0.04
    call SetTextTagPermanent(TX, FALSE)
    call SetTextTagLifespan(TX, 3.5)
    call FT.add(TX, S)
    call TimerStart(GetExpiredTimer(), 3.8, false, function StartScene3)
endfunction


function StartScene21 takes nothing returns nothing
    local integer index = 0
//call ForceAddPlayer(UndeadForce,Player(6))
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_PalUpgradeCam1), GetRectCenterY(gg_rct_PalUpgradeCam1), 1.5)
        endif
        index++
    endloop
    call TimerStart(GetExpiredTimer(), 2, false, function StartScene22)
endfunction


function StartScene2 takes nothing returns nothing
    call GroupClear(P)
    call GroupEnumUnitsInRect(P, gg_rct_StartScene1, null)
   
    loop
        set F = FirstOfGroup(P)
        exitwhen F == null
        call PauseUnit(F, false)
        call GroupRemoveUnit(P, F)
    endloop
    call SetUnitLife(gg_unit_nfrl_0688, 70)
//call GroupClear(P)
    call ForceAddPlayer(UndeadForce, Player(10))
    call TimerStart(GetExpiredTimer(), 4., false, function StartScene21)
endfunction
       // call PanCameraToTimed(GetRectCenterX(r), GetRectCenterY(r), DistanceXY(GetUnitX(gg_unit_e006_0591),GetUnitY(gg_unit_e006_0591),GetRectCenterX(r), GetRectCenterY(r))/690)
function StartScene1 takes nothing returns nothing
    local integer index = 0
//call ForceAddPlayer(UndeadForce,Player(6))
    loop
        exitwhen index > 10
        if (GetLocalPlayer() == Player(index)) then
            call PanCameraToTimed(GetRectCenterX(gg_rct_StartScene1), GetRectCenterY(gg_rct_StartScene1), 1.)
        endif
        index++
    endloop

    call TimerStart(GetExpiredTimer(), 1., false, function StartScene2)
endfunction
 
Level 10
Joined
May 24, 2016
Messages
339
UPDATE: I tried to make some crash test (overloading map with memories), but it never gave me a single crash, only lags.

Can anyone give me a clue what might be a problem?
Ill give some explanations about map:

1) No trigger lightnings at all
2) Damage engine system used by looking_for_help, so only one spell book in the game
3) Items are creating via scripts and give/removed via triggers. Never moving items via scripts
4) Trigger hero revive systems are simple and work fine
5) No techs reseraches that require unit to be created
6) No orb type items
7) No unit with inventory picking books
8) no abilties with 0 cd
9) trigger destroyed only after triggeraction loaded via hash and removed
10) hash never get destroyed, unit data only get cleared on units, not heroes
11) never pass incorrect player id, only that is stored inside getplayerid() function
 
Last edited:
Status
Not open for further replies.
Top