Sound does not play

JASS:
scope deathpact initializer Init

globals
    private constant integer SPELL = 'A00P'
    private constant string EFFECT = "Abilities\\Spells\\Other\\Doom\\DoomTarget.mdl" 
    private sound SLEEP
    private constant string GHOST = "Objects\\Spawnmodels\\Undead\\UndeadDissipate\\UndeadDissipate.mdl" 
    private constant string UDEATH = "Objects\\Spawnmodels\\Undead\\UDeathMedium\\UDeath.mdl"
    private boolexpr b
endglobals

private struct data
    static data temp
    unit caster
    unit target
    timer t
    lightning p
    integer ticks
    
    implement AutoData
    
static method create takes nothing returns data
    local data d = data.allocate()
    set d.caster = GetTriggerUnit()
    set d.target = GetSpellTargetUnit()
    set d.t = NewTimer()
    set d.ticks = 0
    call StunUnit(d.target,3,false)
    call AddTimedEffectTarget(EFFECT,d.target,"origin",9999)
    return d
endmethod

method onDestroy takes nothing returns nothing
    call ReleaseTimer(.t)
    call DestroyLightning(.p)
endmethod

endstruct

private function Conditions takes nothing returns boolean
    return GetSpellAbilityId() == SPELL
endfunction

private function CheckEnemies takes nothing returns boolean
    local data d = data.temp
    return IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(d.caster)) and GetFilterUnit() != d.caster and GetWidgetLife(GetFilterUnit()) > 0.0451 
endfunction

private function Loop takes nothing returns nothing
    local data d = GetTimerData(GetExpiredTimer())
    local real TLife = GetWidgetLife(d.target) * 0.10
    local real TMana =  GetUnitState(d.target,UNIT_STATE_MANA) *0.10
    local real x = GetUnitX(d.target)
    local real y = GetUnitY(d.target)
    local unit u
    call DestroyEffect(AddSpecialEffect(GHOST,x,y))
    call SetWidgetLife(d.caster,GetWidgetLife(d.caster)+ TLife)
    call SetUnitState(d.caster,UNIT_STATE_MANA,GetUnitState(d.caster,UNIT_STATE_MANA) + TMana)
    call SetWidgetLife(d.target,GetWidgetLife(d.target)-TLife)
    call SetUnitState(d.target,UNIT_STATE_MANA,GetUnitState(d.target,UNIT_STATE_MANA) - TMana)
    set d.ticks = d.ticks + 1
    if d.ticks == 3 then
        call DestroyEffect(AddSpecialEffect(UDEATH,x,y))
        call SetUnitOwner(d.target,GetOwningPlayer(d.caster),true)
        call UnitApplyTimedLife(d.target,'BUan',10)
        call DelayedAttackSpeed(d.target,100,10)
        set d.temp = d
        call GroupEnumUnitsInRange(ENUM_GROUP,x,y,400,b)
        loop
            set u = FirstOfGroup(ENUM_GROUP)
            exitwhen u == null
            call StunUnit(u,GetRandomReal(2,3),false)
            call GroupRemoveUnit(ENUM_GROUP,u)
        endloop
    endif
endfunction

private function Actions takes nothing returns nothing
    local unit u = GetTriggerUnit()
    local unit t = GetSpellTargetUnit()
    local data d
    local integer id = GetUnitId(u)
    if GetTriggerEventId() == EVENT_PLAYER_UNIT_SPELL_EFFECT then
        call StartSound(SLEEP)
        call KillSoundWhenDone(SLEEP)
        set d = data.create()
        set d.p = AddLightning("AFOD",true,GetUnitX(u),GetUnitY(u),GetUnitX(t),GetUnitY(t))
        set data<u> = d
        call SetTimerData(d.t,d)
        call TimerStart(d.t,1,true,function Loop)
        set u = null
        set t = null
    elseif GetTriggerEventId() == EVENT_PLAYER_UNIT_SPELL_ENDCAST then
        set d = data<u>
        call StopStun(d.target)
        call d.destroy()
        set u = null
    endif
endfunction

//===========================================================================
private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_ENDCAST)
    call TriggerAddAction( t, function Actions )
    call TriggerAddCondition(t,Condition(function Conditions))
    set SLEEP = CreateSoundFromLabel(&quot;SleepBirth1&quot;,false,true,true,10,10)
    set b = Filter(function CheckEnemies)
endfunction
endscope
</u></u>


Tell me why does the sound not play?
 

Frozenhelfir

set Gwypaas = Guhveepaws
I don't think you incorporated all the parts of the BJ. You may want to consider just using the BJ instead, it'll work. Did you create the sound in the sound editor?
 
I tried to not use sound editor variables as they are too messy.

If I figured other people could do it this way why can't I? Also SimError is created using almost the same method as mine.
 

saw792

Is known to say things. That is all.
Change fade in and fade out to 10000 then, as that is what blizzard has used in it's BJs.
 

Frozenhelfir

set Gwypaas = Guhveepaws
I tried to not use sound editor variables as they are too messy.

If I figured other people could do it this way why can't I? Also SimError is created using almost the same method as mine.
Sound editor is the only way to do it as far as I know. Stop being stubborn, just copy/paste it over from a GUI trigger...
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • C Cherry.Grove:
    So what's the whole reforged situation? Do we have to run the classic version bootleg now?
  • C Cherry.Grove:
    My boyfriend is super into Bethesda modding so I'm probably going to join him in that for a bit, then move on to making mobile/browser games.
  • C Cherry.Grove:
    I mostly just want to look at my old projects because I know I posted uploads on here somewhere.
  • C Cherry.Grove:
    My one game was basically Among Us but you sabotaged an entire medieval city simulated drastically inefficiently with dynamic NPCs :S
  • C Cherry.Grove:
    of course I never finished it x D
  • jonas jonas:
    xD
  • jonas jonas:
    I think you can still run the original game, just there's a chance your map won't work with the newer patches
  • jonas jonas:
    what development framework have you been looking at for mobile development?
  • jonas jonas:
    I'm currently creating (as a hobby) a space invaders like game for mobile using Xamarin, after starting a few larger projects that I also may not have finished :rolleyes::p
  • The Helper The Helper:
    Awesome! you should look at the Atari VCS platform it does not have a huge user base but the one it has is super active at around 11k and they have no games in there store
  • The Helper The Helper:
    basically it is linux
  • The Helper The Helper:
    OMG it is BanLord as Blackveiled on the forum
  • The Helper The Helper:
    what is up buddy
  • jonas jonas:
    thanks for the tip, that sounds cool. Never heard about the VCS before but seems like it should be a good match
  • tom_mai78101 tom_mai78101:
    The winter vacation left a toll on me. I missed staying up late and sleeping in late.
  • C Cherry.Grove:
    i haven't looked into it yet
  • C Cherry.Grove:
    If I could use something Python compatible it would save me some learning
  • C Cherry.Grove:
    But Unity might be easiest
  • C Cherry.Grove:
    looking at old posts here makes me happy. Makes me be all like "wow I was pretty smart in 2009"
  • C Cherry.Grove:
    mostly failing at life through adulthood really demotivated me for a while
  • C Cherry.Grove:
    ....what I don't get is why the fuck they would force us to permanently convert to a version of the game everyone fucking hated : \
  • C Cherry.Grove:
    Raid Shadow Legends texture pack smh
  • jonas jonas:
    Most people fail at life throughout their adulthood. Sometimes we get to learn from it. Usually it just feels like crap.
  • The Helper The Helper:
    What does not kill you makes you stronger is what they say

    Members online

    No members online now.

    Affiliates

    Hive Workshop NUON Dome
    Top