• 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.

Saves fine, but won't play (Blank Start Box)

Status
Not open for further replies.
Level 14
Joined
Jul 26, 2008
Messages
1,009
Hi. Thanks for reading!

I recently converted systems in my map. I switched Auto-Index to AIDS and EarthFury's BonusMod to Status by Jesus4Lyf. Implemented T32 and DummyCaster.

I then went through and changed all my triggers and saved with the TextMacros on. Okayed a Windows messages about JNGP.

I'm using Win7, editing with JNGP (UMSWE Enabled, JassHelper Enabled, Extensions Enabled).

Well after saving, the map seemed to save fine. All things were generated. However, after saving through all this the map doesn't play. You get to custom games, select it, and you can't start it up. Typical error save map where it has no place options.

Here is the map:
http://www.hiveworkshop.com/forums/pastebin.php?id=pagpjg

Thanks, I hope someone can work with me to get this thing playing. Thanks!
 
Level 14
Joined
Jul 26, 2008
Messages
1,009
I have my doubts I"ll get a response from the original developers.

I know these systems work and have worked for other people. It could be something on my end.

I've set adminstrative control to on, and have allowed all error messages. Perhaps someone could tell me anything else I need to do who has gotten the systems in question to work.
 
Weird. I used status before and had no problems. If you reenable it, does it still load? (without enabling the triggers that used it)

Maybe it is just one trigger causing the problem, or even something being done on initialization that causes it. Although, I haven't often encountered the problem you have so I am not sure.
 
Level 14
Joined
Jul 26, 2008
Messages
1,009
Found the incompatible trigger, but I have no idea what-so-ever is causing it. Take a look and see if you can find the problem:

AFAIK I see no problem.

JASS:
scope GorgonsGaze initializer init

globals
    private constant integer SPELLID        = 'GoGa'
    private constant real tick              = 0.2
endglobals

private struct Data

    unit caster
    unit target
    real dur
    integer ms
    integer as

    static method Timer takes nothing returns nothing
     local thistype this = GetTimerData(GetExpiredTimer())
     local integer lvl = GetUnitAbilityLevel(.caster, SPELLID)
     local integer aspd = R2I(tick*(2+4*lvl))
     local integer mspd = R2I(tick*(12+6*lvl))
        set .dur = .dur + tick
        if .dur > 10 then
            call SetUnitTimeScale(.target, 1)
            call PauseUnit(.target, false)
            call SetUnitVertexColor(.target, 255,255,255,255)
            call UnitRemoveType(.target, UNIT_TYPE_MECHANICAL)
            call Status[.target].modAttackSpeedBonus(.as)
            call Status[.target].modMoveSpeedBonus(.ms)
            call ReleaseTimer(GetExpiredTimer())
            call .destroy()
        elseif GetUnitMoveSpeed(.target) > mspd*2 then
            set .ms = .ms + mspd
            if Status[.target].modAttackSpeedBonus( -aspd) > 0 then
                set .as = .as + aspd
            endif
            if GetUnitMoveSpeed(.target) - mspd > 0 then
                call Status[.target].modMoveSpeedBonus(-mspd)
            endif
            call SetUnitVertexColor(.target, 197,197,197,255)
            call SetUnitTimeScale(.target, 0.5)
        else
            call SetUnitVertexColor(.target, 55, 55, 55,225)
            call SetUnitTimeScale(.target, 0)
            call PauseUnit(.target, true)
            call UnitAddType(.target, UNIT_TYPE_MECHANICAL)
        endif
    endmethod

    static method create takes unit caster, unit target returns thistype
     local thistype this = thistype.allocate()
     local timer tim = NewTimer()
        set .dur = 0
        set .caster = caster
        set .target = target
        set .ms = 0
        set .as = 0
        call SetTimerData(tim,this)
        call TimerStart(tim, tick, true, function thistype.Timer)
     return this
    endmethod

endstruct

private function Actions takes nothing returns nothing
    if GetSpellAbilityId() == SPELLID then
        call Data.create(GetTriggerUnit(),GetSpellTargetUnit())
    endif
endfunction

//===========================================================================
public function init takes nothing returns nothing
 local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddAction( t, function Actions )
 set t = null
endfunction

endscope

On a related note:
Is there anything I need to do to make AIDS compatible with XE Dummy or the DummyCaster that is used in Status? Or even if it's recommended finding a way for Status to use XE's Dummy system? I'm getting a crazy amount of debug messages from AIDS about "Trying to get the id (inlines) of null unit" and "Trying to get the unit of unassigned index"

This is a big problem for using debug mode :\
 
Last edited:
Level 5
Joined
Sep 28, 2010
Messages
75
last time i used a system called BuffStruct, i get errors too until i removed the "private" keyword from a method. Try adding the private keyword to your callback method and see what happens.

Also, you could just use local timer tim = NewTimerEx(this) instead of:
JASS:
local timer tim = NewTimer()
call SetTimerData(tim, this)
 
Level 14
Joined
Jul 26, 2008
Messages
1,009
That wasn't it. Seems to be something else in this trigger causing the problem. It's something in the Timer callback though.
EDIT: Found it. It's this line: if Status[.target].modAttackSpeedBonus(-aspd) > 0 then

Also I'm getting a crazy flood of those debug messages about AIDS. I think it might gradually slowing the game down too.
 
Status
Not open for further replies.
Top