1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Music Contest #8 - Hive Soundtrack is up! Create the soundtrack for the upcoming videos of Hive Workshop's YouTube Channel.
    Dismiss Notice
  3. Check out the entries of the latest Mini-Mapping Contest: Stealth! Cast your vote for here!
    Dismiss Notice

Save/Load System

Discussion in 'World Editor Help Zone' started by Jack_Avenger, Apr 16, 2012.

  1. Jack_Avenger

    Jack_Avenger

    Joined:
    Apr 16, 2012
    Messages:
    4
    Resources:
    0
    Resources:
    0
    My Save and Load are disabled and I don't know what's wrong...

    Here's Save Category :

    HTML:
    //***************************************************************************
    //*
    //*  Global Variables
    //*
    //***************************************************************************

    globals
        // User-defined
        player                  udg_Instagator             = null
        timerdialog             udg_Timer                  = null
        timer                   udg_Survie                 = null
        string                  udg_Code
        force                   udg_Players                = null
        integer array           udg_Save
        integer                 udg_SaveCount              = 0
        integer array           udg_SaveLoad_Abilities
        integer                 udg_SaveLoad_Abilities_LastIndex = 0
        string                  udg_SaveLoad_Alphabet
        boolean                 udg_SaveLoad_CaseSensitive = false
        integer array           udg_SaveLoad_Compress
        integer array           udg_SaveLoad_Heroes
        integer                 udg_SaveLoad_Heroes_LastIndex = 0
        boolean                 udg_SaveLoad_Initialized   = false
        integer array           udg_SaveLoad_Items
        integer                 udg_SaveLoad_Items_LastIndex = 0
        integer array           udg_SaveLoad_Uncompress
        boolean                 udg_SaveLoad_UsePlayername = false
        integer array           udg_SaveLoadAbilitiesStored
        integer                 udg_SaveLoadBlockSize      = 0
        string array            udg_SaveLoadCharacterNumbers
        string                  udg_SaveLoadCharacterSet
        string array            udg_SaveLoadEncryptionSet
        boolean array           udg_SaveLoadHasLoaded
        integer array           udg_SaveLoadHeroesStored
        integer array           udg_SaveLoadItemsStored
        integer                 udg_SaveLoadMaxAbilitiesStored = 0
        integer                 udg_SaveLoadMaxCharacters  = 0
        integer                 udg_SaveLoadMaxEncryptionSets = 0
        integer                 udg_SaveLoadMaxHeroesStored = 0
        integer                 udg_SaveLoadMaxItemsStored = 0
        unit array              udg_SaveLoadPlayerHeroSingle
        integer                 udg_SaveLoadSlotsAbilities = 0
        integer                 udg_SaveLoadSlotsGold      = 0
        integer                 udg_SaveLoadSlotsHero      = 0
        integer                 udg_SaveLoadSlotsHeroLevel = 0
        integer                 udg_SaveLoadSlotsItem      = 0
        integer                 udg_SaveLoadSlotsLumber    = 0
        integer                 udg_SaveLoadSlotsStats     = 0
        integer array           udg_SaveLoadVariablesStored
        item                    udg_TempItem               = null
        integer                 udg_TempItemType           = 0
        unit                    udg_TempUnit               = null
        integer                 udg_TempUnitType           = 0
        group                   udg_UnitGroup              = null
        boolean                 udg_Validate               = false
        group                   udg_duelpeople             = null

        // Generated
        rect                    gg_rct_Attaque_zombie      = null
        rect                    gg_rct_Vague_2             = null
        rect                    gg_rct_Vague_3             = null
        rect                    gg_rct_Attaque_zombie_2    = null
        rect                    gg_rct_Ouest               = null
        rect                    gg_rct_Est                 = null
        rect                    gg_rct_Renfort             = null
        rect                    gg_rct_Maison_1            = null
        rect                    gg_rct_Maison_2            = null
        rect                    gg_rct_Entree_maison_1     = null
        rect                    gg_rct_Sortie_maison_1     = null
        rect                    gg_rct_Entree_maison_2     = null
        rect                    gg_rct_Sortie_maison_2     = null
        rect                    gg_rct_quitter_2           = null
        rect                    gg_rct_quitter_1           = null
        rect                    gg_rct_vague_forte         = null
        rect                    gg_rct_boss                = null
        rect                    gg_rct_Vague_mutant        = null
        rect                    gg_rct_Vague_mutant_2      = null
        rect                    gg_rct_Game_creator        = null
        rect                    gg_rct_Merci               = null
        rect                    gg_rct_renfort_1           = null
        rect                    gg_rct_renfort_2           = null
        rect                    gg_rct_renfort_3           = null
        rect                    gg_rct_renfort_4           = null
        rect                    gg_rct_renfort_5           = null
        rect                    gg_rct_Spawn_maison_est    = null
        rect                    gg_rct_Spawn_maison_ouest  = null
        rect                    gg_rct_CodeItems           = null
        rect                    gg_rct_Load_Heroes         = null
        camerasetup             gg_cam_Camera_001          = null
        string                  gg_snd_Tension
        string                  gg_snd_Drowning_Pool___01___Bodies
        trigger                 gg_trg_SaveLoadPreInizialization_Copy = null
        trigger                 gg_trg_SaveLoadRealInizialization_Copy = null
        trigger                 gg_trg_Save_Copy           = null
        trigger                 gg_trg_Load_Copy           = null
        trigger                 gg_trg_Activer             = null
        trigger                 gg_trg_Activer_Copier      = null
        trigger                 gg_trg_boss                = null
        trigger                 gg_trg_boss_Copier         = null
        trigger                 gg_trg_vague_forte_arrive  = null
        trigger                 gg_trg_vague_2_arrive      = null
        trigger                 gg_trg_vague_3_arrive      = null
        trigger                 gg_trg_Debut               = null
        trigger                 gg_trg_Objet_apparition    = null
        trigger                 gg_trg_tourelle            = null
        trigger                 gg_trg_Vague_zombie_sans_arret = null
        trigger                 gg_trg_Renfort             = null
        trigger                 gg_trg_Avant_poste_detruit = null
        trigger                 gg_trg_bois                = null
        trigger                 gg_trg_lal                 = null
        trigger                 gg_trg_texte_flottant      = null
        trigger                 gg_trg_meurt               = null
        trigger                 gg_trg_meurt_Copier        = null
        trigger                 gg_trg_meurt_Copier_2      = null
        trigger                 gg_trg_meurt_Copier_3      = null
        trigger                 gg_trg_meurt_Copier_4      = null
        trigger                 gg_trg_meurt_Copier_5      = null
        trigger                 gg_trg_meurt_Copier_6      = null
        trigger                 gg_trg_meurt_Copier_7      = null
        trigger                 gg_trg_meurt_Copier_8      = null
        trigger                 gg_trg_meurt_Copier_9      = null
        trigger                 gg_trg_chargeur_1          = null
        trigger                 gg_trg_attaque             = null
        trigger                 gg_trg_Quete_1             = null
        trigger                 gg_trg_Quete_3             = null
        trigger                 gg_trg_Quete_3_Copier      = null
        trigger                 gg_trg_mourir              = null
        trigger                 gg_trg_maison_1            = null
        trigger                 gg_trg_maison_2            = null
        trigger                 gg_trg_quitter_1           = null
        trigger                 gg_trg_quitter_2           = null
        trigger                 gg_trg_ally                = null
        trigger                 gg_trg_Declare_War_1       = null
        trigger                 gg_trg_Declare_War_1_Copier = null
        trigger                 gg_trg_Declare_War_1_Copier_2 = null
        trigger                 gg_trg_Declare_War_1_Copier_3 = null
        trigger                 gg_trg_Declare_War_1_Copier_4 = null
        trigger                 gg_trg_Declare_War_1_Copier_5 = null
        trigger                 gg_trg_Declare_War_1_Copier_6 = null
        trigger                 gg_trg_Declare_War_1_Copier_7 = null
        trigger                 gg_trg_Declare_War_1_Copier_8 = null
        trigger                 gg_trg_Declare_War_1_Copier_9 = null
        trigger                 gg_trg_Remove_Left_Players = null
        trigger                 gg_trg_Turn_On             = null
        trigger                 gg_trg_Turn_Off            = null
        trigger                 gg_trg_Survivants_gagnants = null
        trigger                 gg_trg_gagnes              = null
        trigger                 gg_trg_code                = null
        unit                    gg_unit_h000_0184          = null
        unit                    gg_unit_H002_0021          = null
        unit                    gg_unit_H002_0020          = null
        unit                    gg_unit_H002_0019          = null
        unit                    gg_unit_H002_0018          = null
        unit                    gg_unit_H002_0012          = null
        unit                    gg_unit_H002_0013          = null
        unit                    gg_unit_H002_0014          = null
        unit                    gg_unit_H002_0015          = null
        unit                    gg_unit_H002_0016          = null
        unit                    gg_unit_H002_0017          = null
        unit                    gg_unit_Eevi_0042          = null
    endglobals

    function InitGlobals takes nothing returns nothing
        local integer i = 0
        set udg_Survie = CreateTimer()
        set udg_Code = ""
        set udg_Players = CreateForce()
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_Save[i] = 0
            set i = i + 1
        endloop

        set udg_SaveCount = 0
        set udg_SaveLoad_Abilities_LastIndex = 0
        set udg_SaveLoad_Alphabet = ""
        set udg_SaveLoad_CaseSensitive = false
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoad_Compress[i] = 0
            set i = i + 1
        endloop

        set udg_SaveLoad_Heroes_LastIndex = 0
        set udg_SaveLoad_Initialized = false
        set udg_SaveLoad_Items_LastIndex = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoad_Uncompress[i] = 0
            set i = i + 1
        endloop

        set udg_SaveLoad_UsePlayername = false
        set udg_SaveLoadBlockSize = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadCharacterNumbers[i] = ""
            set i = i + 1
        endloop

        set udg_SaveLoadCharacterSet = ""
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadEncryptionSet[i] = ""
            set i = i + 1
        endloop

        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadHasLoaded[i] = false
            set i = i + 1
        endloop

        set udg_SaveLoadMaxAbilitiesStored = 0
        set udg_SaveLoadMaxCharacters = 0
        set udg_SaveLoadMaxEncryptionSets = 0
        set udg_SaveLoadMaxHeroesStored = 0
        set udg_SaveLoadMaxItemsStored = 0
        set udg_SaveLoadSlotsAbilities = 0
        set udg_SaveLoadSlotsGold = 0
        set udg_SaveLoadSlotsHero = 0
        set udg_SaveLoadSlotsHeroLevel = 0
        set udg_SaveLoadSlotsItem = 0
        set udg_SaveLoadSlotsLumber = 0
        set udg_SaveLoadSlotsStats = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadVariablesStored[i] = 0
            set i = i + 1
        endloop

        set udg_UnitGroup = CreateGroup()
        set udg_Validate = false
        set udg_duelpeople = CreateGroup()
    endfunction

    function Trig_Save_Copy_Func004002002 takes nothing returns boolean
        return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
    endfunction

    function Trig_Save_Copy_Func007Func012Func001C takes nothing returns boolean
        if ( not ( IsItemOwned(UnitItemInSlotBJ(GetEnumUnit(), GetForLoopIndexA())) == true ) ) then
            return false
        endif
        return true
    endfunction

    function Trig_Save_Copy_Func007A takes nothing returns nothing
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_TempUnit = GetEnumUnit()
        set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer(udg_TempUnit)
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = GetHeroXP(GetEnumUnit())
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = R2I(GetLocationX(GetUnitLoc(GetEnumUnit())))
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = R2I(GetLocationY(GetUnitLoc(GetEnumUnit())))
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = UnitInventoryCount(GetEnumUnit())
        set bj_forLoopAIndex = 1
        set bj_forLoopAIndexEnd = 6
        loop
            exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
            if ( Trig_Save_Copy_Func007Func012Func001C() ) then
                set udg_SaveCount = ( udg_SaveCount + 1 )
                set udg_TempItem = UnitItemInSlotBJ(GetEnumUnit(), GetForLoopIndexA())
                set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
                set udg_SaveCount = ( udg_SaveCount + 1 )
                set udg_Save[udg_SaveCount] = GetItemCharges(UnitItemInSlotBJ(GetEnumUnit(), GetForLoopIndexA()))
            else
            endif
            set bj_forLoopAIndex = bj_forLoopAIndex + 1
        endloop
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER)
    endfunction

    function Trig_Save_Copy_Actions takes nothing returns nothing
        set udg_SaveCount = 0
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD)
        set udg_UnitGroup = GetUnitsOfPlayerMatching(GetTriggerPlayer(), Condition(function Trig_Save_Copy_Func004002002))
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = CountUnitsInGroup(udg_UnitGroup)
        call ForGroupBJ( udg_UnitGroup, function Trig_Save_Copy_Func007A )
        set udg_Code = SaveLoad_Encode()
        call QuestMessageBJ( GetForceOfPlayer(GetTriggerPlayer()), bj_QUESTMESSAGE_SECRET, "TRIGSTR_250" )
        call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 300.00, udg_Code )
        call QuestMessageBJ( GetForceOfPlayer(GetTriggerPlayer()), bj_QUESTMESSAGE_SECRET, "TRIGSTR_251" )
    endfunction

    //===========================================================================
    function InitTrig_Save_Copy takes nothing returns nothing
        set gg_trg_Save_Copy = CreateTrigger(  )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(0), "-save", true )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(1), "-save", true )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(2), "-save", true )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(3), "-save", true )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(4), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(5), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(6), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(7), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(8), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(9), "-save", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Save_Copy, Player(10), "-save", false )
        call TriggerAddAction( gg_trg_Save_Copy, function Trig_Save_Copy_Actions )
    endfunction
     
    Problems :

    HTML:
    set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer(udg_TempUnit)
    HTML:
    set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
    HTML:
    set udg_Code = SaveLoad_Encode()
    Then Load Category :

    HTML:
    //***************************************************************************
    //*
    //*  Global Variables
    //*
    //***************************************************************************

    globals
        // User-defined
        player                  udg_Instagator             = null
        timerdialog             udg_Timer                  = null
        timer                   udg_Survie                 = null
        string                  udg_Code
        force                   udg_Players                = null
        integer array           udg_Save
        integer                 udg_SaveCount              = 0
        integer array           udg_SaveLoad_Abilities
        integer                 udg_SaveLoad_Abilities_LastIndex = 0
        string                  udg_SaveLoad_Alphabet
        boolean                 udg_SaveLoad_CaseSensitive = false
        integer array           udg_SaveLoad_Compress
        integer array           udg_SaveLoad_Heroes
        integer                 udg_SaveLoad_Heroes_LastIndex = 0
        boolean                 udg_SaveLoad_Initialized   = false
        integer array           udg_SaveLoad_Items
        integer                 udg_SaveLoad_Items_LastIndex = 0
        integer array           udg_SaveLoad_Uncompress
        boolean                 udg_SaveLoad_UsePlayername = false
        integer array           udg_SaveLoadAbilitiesStored
        integer                 udg_SaveLoadBlockSize      = 0
        string array            udg_SaveLoadCharacterNumbers
        string                  udg_SaveLoadCharacterSet
        string array            udg_SaveLoadEncryptionSet
        boolean array           udg_SaveLoadHasLoaded
        integer array           udg_SaveLoadHeroesStored
        integer array           udg_SaveLoadItemsStored
        integer                 udg_SaveLoadMaxAbilitiesStored = 0
        integer                 udg_SaveLoadMaxCharacters  = 0
        integer                 udg_SaveLoadMaxEncryptionSets = 0
        integer                 udg_SaveLoadMaxHeroesStored = 0
        integer                 udg_SaveLoadMaxItemsStored = 0
        unit array              udg_SaveLoadPlayerHeroSingle
        integer                 udg_SaveLoadSlotsAbilities = 0
        integer                 udg_SaveLoadSlotsGold      = 0
        integer                 udg_SaveLoadSlotsHero      = 0
        integer                 udg_SaveLoadSlotsHeroLevel = 0
        integer                 udg_SaveLoadSlotsItem      = 0
        integer                 udg_SaveLoadSlotsLumber    = 0
        integer                 udg_SaveLoadSlotsStats     = 0
        integer array           udg_SaveLoadVariablesStored
        item                    udg_TempItem               = null
        integer                 udg_TempItemType           = 0
        unit                    udg_TempUnit               = null
        integer                 udg_TempUnitType           = 0
        group                   udg_UnitGroup              = null
        boolean                 udg_Validate               = false
        group                   udg_duelpeople             = null

        // Generated
        rect                    gg_rct_Attaque_zombie      = null
        rect                    gg_rct_Vague_2             = null
        rect                    gg_rct_Vague_3             = null
        rect                    gg_rct_Attaque_zombie_2    = null
        rect                    gg_rct_Ouest               = null
        rect                    gg_rct_Est                 = null
        rect                    gg_rct_Renfort             = null
        rect                    gg_rct_Maison_1            = null
        rect                    gg_rct_Maison_2            = null
        rect                    gg_rct_Entree_maison_1     = null
        rect                    gg_rct_Sortie_maison_1     = null
        rect                    gg_rct_Entree_maison_2     = null
        rect                    gg_rct_Sortie_maison_2     = null
        rect                    gg_rct_quitter_2           = null
        rect                    gg_rct_quitter_1           = null
        rect                    gg_rct_vague_forte         = null
        rect                    gg_rct_boss                = null
        rect                    gg_rct_Vague_mutant        = null
        rect                    gg_rct_Vague_mutant_2      = null
        rect                    gg_rct_Game_creator        = null
        rect                    gg_rct_Merci               = null
        rect                    gg_rct_renfort_1           = null
        rect                    gg_rct_renfort_2           = null
        rect                    gg_rct_renfort_3           = null
        rect                    gg_rct_renfort_4           = null
        rect                    gg_rct_renfort_5           = null
        rect                    gg_rct_Spawn_maison_est    = null
        rect                    gg_rct_Spawn_maison_ouest  = null
        rect                    gg_rct_CodeItems           = null
        rect                    gg_rct_Load_Heroes         = null
        camerasetup             gg_cam_Camera_001          = null
        string                  gg_snd_Tension
        string                  gg_snd_Drowning_Pool___01___Bodies
        trigger                 gg_trg_SaveLoadPreInizialization_Copy = null
        trigger                 gg_trg_SaveLoadRealInizialization_Copy = null
        trigger                 gg_trg_Save_Copy           = null
        trigger                 gg_trg_Load_Copy           = null
        trigger                 gg_trg_Activer             = null
        trigger                 gg_trg_Activer_Copier      = null
        trigger                 gg_trg_boss                = null
        trigger                 gg_trg_boss_Copier         = null
        trigger                 gg_trg_vague_forte_arrive  = null
        trigger                 gg_trg_vague_2_arrive      = null
        trigger                 gg_trg_vague_3_arrive      = null
        trigger                 gg_trg_Debut               = null
        trigger                 gg_trg_Objet_apparition    = null
        trigger                 gg_trg_tourelle            = null
        trigger                 gg_trg_Vague_zombie_sans_arret = null
        trigger                 gg_trg_Renfort             = null
        trigger                 gg_trg_Avant_poste_detruit = null
        trigger                 gg_trg_bois                = null
        trigger                 gg_trg_lal                 = null
        trigger                 gg_trg_texte_flottant      = null
        trigger                 gg_trg_meurt               = null
        trigger                 gg_trg_meurt_Copier        = null
        trigger                 gg_trg_meurt_Copier_2      = null
        trigger                 gg_trg_meurt_Copier_3      = null
        trigger                 gg_trg_meurt_Copier_4      = null
        trigger                 gg_trg_meurt_Copier_5      = null
        trigger                 gg_trg_meurt_Copier_6      = null
        trigger                 gg_trg_meurt_Copier_7      = null
        trigger                 gg_trg_meurt_Copier_8      = null
        trigger                 gg_trg_meurt_Copier_9      = null
        trigger                 gg_trg_chargeur_1          = null
        trigger                 gg_trg_attaque             = null
        trigger                 gg_trg_Quete_1             = null
        trigger                 gg_trg_Quete_3             = null
        trigger                 gg_trg_Quete_3_Copier      = null
        trigger                 gg_trg_mourir              = null
        trigger                 gg_trg_maison_1            = null
        trigger                 gg_trg_maison_2            = null
        trigger                 gg_trg_quitter_1           = null
        trigger                 gg_trg_quitter_2           = null
        trigger                 gg_trg_ally                = null
        trigger                 gg_trg_Declare_War_1       = null
        trigger                 gg_trg_Declare_War_1_Copier = null
        trigger                 gg_trg_Declare_War_1_Copier_2 = null
        trigger                 gg_trg_Declare_War_1_Copier_3 = null
        trigger                 gg_trg_Declare_War_1_Copier_4 = null
        trigger                 gg_trg_Declare_War_1_Copier_5 = null
        trigger                 gg_trg_Declare_War_1_Copier_6 = null
        trigger                 gg_trg_Declare_War_1_Copier_7 = null
        trigger                 gg_trg_Declare_War_1_Copier_8 = null
        trigger                 gg_trg_Declare_War_1_Copier_9 = null
        trigger                 gg_trg_Remove_Left_Players = null
        trigger                 gg_trg_Turn_On             = null
        trigger                 gg_trg_Turn_Off            = null
        trigger                 gg_trg_Survivants_gagnants = null
        trigger                 gg_trg_gagnes              = null
        trigger                 gg_trg_code                = null
        unit                    gg_unit_h000_0184          = null
        unit                    gg_unit_H002_0021          = null
        unit                    gg_unit_H002_0020          = null
        unit                    gg_unit_H002_0019          = null
        unit                    gg_unit_H002_0018          = null
        unit                    gg_unit_H002_0012          = null
        unit                    gg_unit_H002_0013          = null
        unit                    gg_unit_H002_0014          = null
        unit                    gg_unit_H002_0015          = null
        unit                    gg_unit_H002_0016          = null
        unit                    gg_unit_H002_0017          = null
        unit                    gg_unit_Eevi_0042          = null
    endglobals

    function InitGlobals takes nothing returns nothing
        local integer i = 0
        set udg_Survie = CreateTimer()
        set udg_Code = ""
        set udg_Players = CreateForce()
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_Save[i] = 0
            set i = i + 1
        endloop

        set udg_SaveCount = 0
        set udg_SaveLoad_Abilities_LastIndex = 0
        set udg_SaveLoad_Alphabet = ""
        set udg_SaveLoad_CaseSensitive = false
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoad_Compress[i] = 0
            set i = i + 1
        endloop

        set udg_SaveLoad_Heroes_LastIndex = 0
        set udg_SaveLoad_Initialized = false
        set udg_SaveLoad_Items_LastIndex = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoad_Uncompress[i] = 0
            set i = i + 1
        endloop

        set udg_SaveLoad_UsePlayername = false
        set udg_SaveLoadBlockSize = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadCharacterNumbers[i] = ""
            set i = i + 1
        endloop

        set udg_SaveLoadCharacterSet = ""
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadEncryptionSet[i] = ""
            set i = i + 1
        endloop

        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadHasLoaded[i] = false
            set i = i + 1
        endloop

        set udg_SaveLoadMaxAbilitiesStored = 0
        set udg_SaveLoadMaxCharacters = 0
        set udg_SaveLoadMaxEncryptionSets = 0
        set udg_SaveLoadMaxHeroesStored = 0
        set udg_SaveLoadMaxItemsStored = 0
        set udg_SaveLoadSlotsAbilities = 0
        set udg_SaveLoadSlotsGold = 0
        set udg_SaveLoadSlotsHero = 0
        set udg_SaveLoadSlotsHeroLevel = 0
        set udg_SaveLoadSlotsItem = 0
        set udg_SaveLoadSlotsLumber = 0
        set udg_SaveLoadSlotsStats = 0
        set i = 0
        loop
            exitwhen (i > 1)
            set udg_SaveLoadVariablesStored[i] = 0
            set i = i + 1
        endloop

        set udg_UnitGroup = CreateGroup()
        set udg_Validate = false
        set udg_duelpeople = CreateGroup()
    endfunction

    function Trig_Load_Copy_Conditions takes nothing returns boolean
        if ( not ( udg_SaveLoadHasLoaded[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
            return false
        endif
        if ( not ( SubStringBJ(GetEventPlayerChatString(), 1, 6) == GetEventPlayerChatStringMatched() ) ) then
            return false
        endif
        if ( not ( StringLength(GetEventPlayerChatString()) > 6 ) ) then
            return false
        endif
        return true
    endfunction

    function Trig_Load_Copy_Func004C takes nothing returns boolean
        if ( not ( udg_Validate == false ) ) then
            return false
        endif
        return true
    endfunction

    function Trig_Load_Copy_Func005A takes nothing returns nothing
        call RemoveUnit( GetEnumUnit() )
    endfunction

    function Trig_Load_Copy_Actions takes nothing returns nothing
        set udg_Code = SubStringBJ(GetEventPlayerChatString(), 7, StringLength(GetEventPlayerChatString()))
        set udg_Validate = SaveLoad_Decode( udg_Code )
        if ( Trig_Load_Copy_Func004C() ) then
            call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_252" )
            return
        else
        endif
        call ForGroupBJ( GetUnitsOfPlayerAll(GetTriggerPlayer()), function Trig_Load_Copy_Func005A )
        set udg_SaveLoadHasLoaded[GetConvertedPlayerId(GetTriggerPlayer())] = true
        set udg_SaveCount = 1
        call SetPlayerStateBJ( GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD, udg_Save[udg_SaveCount] )
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set bj_forLoopBIndex = 1
        set bj_forLoopBIndexEnd = udg_Save[udg_SaveCount]
        loop
            exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
            set udg_SaveCount = ( udg_SaveCount + 1 )
            set udg_TempUnitType = SaveLoad_Integer2Unit(udg_Save[udg_SaveCount])
            call CreateNUnitsAtLoc( 1, udg_TempUnitType, GetTriggerPlayer(), GetPlayerStartLocationLoc(GetTriggerPlayer()), bj_UNIT_FACING )
            set udg_SaveLoadPlayerHeroSingle[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
            call GroupAddUnitSimple( GetLastCreatedUnit(), udg_duelpeople )
            call ForceAddPlayerSimple( GetOwningPlayer(GetTriggerUnit()), udg_Players )
            call UnitAddAbilityBJ( udg_SaveLoadAbilitiesStored[udg_Save[udg_SaveCount]], GetLastCreatedUnit() )
            set udg_SaveCount = ( udg_SaveCount + 1 )
            call SetHeroXP( GetLastCreatedUnit(), udg_Save[udg_SaveCount], false )
            set udg_SaveCount = ( udg_SaveCount + 1 )
            call SetUnitPositionLoc( GetLastCreatedUnit(), GetRectCenter(gg_rct_Load_Heroes) )
            set udg_SaveCount = ( udg_SaveCount + 1 )
            set udg_SaveCount = ( udg_SaveCount + 1 )
            set bj_forLoopAIndex = 1
            set bj_forLoopAIndexEnd = udg_Save[udg_SaveCount]
            loop
                exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
                set udg_SaveCount = ( udg_SaveCount + 1 )
                set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
                call UnitAddItemByIdSwapped( udg_TempItemType, GetLastCreatedUnit() )
                set udg_SaveCount = ( udg_SaveCount + 1 )
                call SetItemCharges( GetLastCreatedItem(), udg_Save[udg_SaveCount] )
                set bj_forLoopAIndex = bj_forLoopAIndex + 1
            endloop
            set udg_SaveCount = ( udg_SaveCount + 1 )
            set bj_forLoopBIndex = bj_forLoopBIndex + 1
        endloop
    endfunction

    //===========================================================================
    function InitTrig_Load_Copy takes nothing returns nothing
        set gg_trg_Load_Copy = CreateTrigger(  )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(0), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(1), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(2), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(3), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(4), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(5), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(6), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(7), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(8), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(9), "-load ", false )
        call TriggerRegisterPlayerChatEvent( gg_trg_Load_Copy, Player(10), "-load ", false )
        call TriggerAddCondition( gg_trg_Load_Copy, Condition( function Trig_Load_Copy_Conditions ) )
        call TriggerAddAction( gg_trg_Load_Copy, function Trig_Load_Copy_Actions )
    endfunction
     
    Problems :

    HTML:
    set udg_Validate = SaveLoad_Decode( udg_Code )
    HTML:
    set udg_TempUnitType = SaveLoad_Integer2Unit(udg_Save[udg_SaveCount])
    HTML:
    set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
    If someone can help me... :wink:
     
  2. helekiller

    helekiller

    Joined:
    Aug 5, 2011
    Messages:
    99
    Resources:
    0
    Resources:
    0
    im guessing thats acehart's saveload? try using
    • [ /trigger] tags next time ^^
    • the part that isnt working refers to functions that arent there in ur map
    • go to the map where you got the code from, double click the map name in trigger editor and copy all the code u see there to ur own map
     
  3. Hashjie

    Hashjie

    Joined:
    Apr 20, 2009
    Messages:
    1,515
    Resources:
    0
    Resources:
    0
     
    Last edited: Apr 16, 2012
  4. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,143
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Sure looks like Acehart's to me
    Code (vJASS):

        set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer(udg_TempUnit)
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = GetHeroXP(GetEnumUnit())
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = R2I(GetLocationX(GetUnitLoc(GetEnumUnit())))
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = R2I(GetLocationY(GetUnitLoc(GetEnumUnit())))
        set udg_SaveCount = ( udg_SaveCount + 1 )
        set udg_Save[udg_SaveCount] = UnitInventoryCount(GetEnumUnit())
     
     
  5. Arhowk

    Arhowk

    Joined:
    Aug 8, 2007
    Messages:
    2,751
    Resources:
    0
    Resources:
    0
    its aceharts, except the guy copy and pasted his error script rather than the triggers. anyway post the triggers not what you posted, cuz thats hell to read.

    @hasijje > wtf is this

    "p.s. buy a beard and grow a monocle"
     
  6. Hashjie

    Hashjie

    Joined:
    Apr 20, 2009
    Messages:
    1,515
    Resources:
    0
    Resources:
    0
    Sorry, I was in a strange mood yesterday :S
    I kinda failed big time... I shouldn't have posted.

    p.s.
    [​IMG]
     
  7. Jack_Avenger

    Jack_Avenger

    Joined:
    Apr 16, 2012
    Messages:
    4
    Resources:
    0
    Resources:
    0
    Hi everyone, thank you for helping me and yes it is a Save Load System of Aceharts!

    • Copy SaveLoadPreInizialization
      • Events
        • Time - Elapsed game time is 0.10 seconds
      • Conditions
      • Actions
        • Set SaveLoadCharacterSet 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ # = - @
        • Set SaveLoadMaxCharacters = 5
        • Set SaveLoadEncryptionSet [1] =-ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # @
        • Set SaveLoadEncryptionSet [2] = @ GHIJKLM NOPQR # STUVWX-YZ0123456789ABCDEF
        • Set SaveLoadEncryptionSet [3] = # @ ABCDE-FPQRSTUVWXYZ012345GHIJKLMNO6789
        • Set SaveLoadEncryptionSet [4] = @ # ASTUVWX-YBCJKLMNOPQRZ01234DFEGHI56789
        • Set SaveLoadEncryptionSet [5] = # @-HIJKLABCDEV WXYZ0123FGM4567NOPQRSTU89
        • Set SaveLoadMaxEncryptionSets = 5
        • For each (Integer A) from 1 to SaveLoadMaxCharacters, do (Actions)
          • Loop - Actions
            • Set SaveLoadCharacterNumbers [((Integer A) - 1)] = (Substring (SaveLoadCharacterSet, (Integer A), (Integer A)))
            • Set SaveLoadSlotsHeroLevel = 2
        • Set SaveLoadHeroesStored [1] = Paladin
        • Set SaveLoadHeroesStored [2] = Archmage
        • Set SaveLoadHeroesStored [3] = King of the Mountain
        • Set SaveLoadHeroesStored [4] = Bloodmage
        • Set SaveLoadHeroesStored [5] = Master-Blade
        • Set SaveLoadHeroesStored [6] = Prophet
        • Set SaveLoadHeroesStored [7] = Tauren Chef
        • Set SaveLoadHeroesStored [8] = Shadow Hunter
        • Set SaveLoadHeroesStored [9] = Death Knight
        • Set SaveLoadHeroesStored [10] = Lich
        • Set SaveLoadHeroesStored [11] = Lord of terror
        • Set SaveLoadHeroesStored [12] = Lord of the crypts
        • Set SaveLoadHeroesStored [13] = Keeper of the Grove
        • Set SaveLoadHeroesStored [14] = Priestess of the Moon
        • Set SaveLoadHeroesStored [15] = Demon Hunter
        • Set SaveLoadHeroesStored [16] = Guardian
        • Set SaveLoadMaxHeroesStored = 16
        • Set SaveLoadSlotsHero = 2
        • Set SaveLoadItemsStored [1] = Meat
        • Set SaveLoadItemsStored [2] = Clip
        • Set SaveLoadItemsStored [3] = Prototype Gun
        • Set SaveLoadItemsStored [4] =
        • Set SaveLoadItemsStored [5] = Sentry gun
        • Set SaveLoadItemsStored [6] = (Item-type of (Last created item))
        • Set SaveLoadItemsStored [7] = (Item-type of (Last created item))
        • Set SaveLoadItemsStored [8] = (Item-type of (Last created item))
        • Set SaveLoadItemsStored [9] = Water
        • Set SaveLoadItemsStored [10] = Volume of force
        • Set SaveLoadItemsStored [11] = Tome of Agility
        • Set SaveLoadItemsStored [12] = Volume of intelligence
        • Set SaveLoadItemsStored [13] = Value
        • Set SaveLoadItemsStored [14] = Value
        • Set SaveLoadItemsStored [15] = Value
        • Set SaveLoadItemsStored [16] = Value
        • Set SaveLoadItemsStored [17] = Value
        • Set SaveLoadItemsStored [18] = Value
        • Set SaveLoadItemsStored [19] = Value
        • Set SaveLoadItemsStored [20] = Value
        • Set SaveLoadItemsStored [21] = Value
        • Set SaveLoadItemsStored [22] = Value
        • Set SaveLoadItemsStored [33] = Value
        • Set SaveLoadItemsStored [34] = Value
        • Set SaveLoadItemsStored [33] = Value
        • Set SaveLoadItemsStored [33] = Value
        • Set SaveLoadMaxItemsStored = 31
        • Set SaveLoadSlotsItem = 2
        • Set SaveLoadMaxAbilitiesStored = 17
        • Set SaveLoadSlotsAbilities = 2
        • Set SaveLoadSlotsGold = 4
        • Set SaveLoadSlotsStats = 2
        • Set SaveLoadSlotsLumber = 4
        • Set SaveLoadBlockSize = 4
        • Set SaveLoadVariablesStored [1] = SaveLoadSlotsHero
        • Set SaveLoadVariablesStored [2] = SaveLoadSlotsHeroLevel
        • Set SaveLoadVariablesStored [3] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [4] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [5] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [6] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [7] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [8] = SaveLoadSlotsItem
        • Set SaveLoadVariablesStored [9] = SaveLoadSlotsGold
        • Set SaveLoadVariablesStored [10] = SaveLoadSlotsLumber
        • For each (Integer A) from 1 to 11, do (Actions)
          • Loop - Actions
            • Set SaveLoadHasLoaded [(Integer A)] = FALSE


    • Copy SaveLoadRealInizialization
      • Events
        • Time - Elapsed game time is 0.20 seconds
      • Conditions
      • Actions
        • For each (Integer A) from 1 to SaveLoadMaxHeroesStored, do (Actions)
          • Loop - Actions
            • Set SaveLoad_Heroes [(Integer A)] = SaveLoadHeroesStored [(Integer A)]
        • Set SaveLoad_Heroes_LastIndex = SaveLoadMaxHeroesStored
        • For each (Integer A) from 1 to SaveLoadMaxItemsStored, do (Actions)
          • Loop - Actions
            • Set SaveLoad_Items [(Integer A)] = SaveLoadItemsStored [(Integer A)]
        • Set SaveLoad_Items_LastIndex = SaveLoadMaxItemsStored
        • For each (Integer A) from 1 to SaveLoadMaxAbilitiesStored, do (Actions)
          • Loop - Actions
            • Set SaveLoad_Abilities [(Integer A)] = SaveLoadAbilitiesStored [(Integer A)]
        • Set SaveLoad_Abilities_LastIndex = SaveLoadMaxAbilitiesStored
        • Set SaveLoad_Alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # = - @
        • Set SaveLoad_CaseSensitive = FALSE
        • Set SaveLoad_UsePlayername = TRUE
        • Set SaveLoad_Initialized = FALSE
        • Set Code = AceHart
        • Set Save [1] = 0
        • Set SaveCount = 1
        • Set Validate = FALSE
        • Set SaveLoad_Compress [1] = 0
        • Set SaveLoad_Uncompress [1] = 0


    • Save Copy
      • Events
        • Player - Player 1 (Red) types a chat message containing -save as result equivalent
        • Player - Player 2 (Blue) types a chat message containing -save as result equivalent
        • Player - Player 3 (Yellow) types a chat message containing -save as result equivalent
        • Player - Player 4 (Purple) types a chat message containing -save as result equivalent
        • Player - Player 5 (Yellow) types a chat message containing -save as a substring
        • Player - Player 6 (Orange) types a chat message containing -save as a substring
        • Player - Player 7 (Green) types a chat message containing -save as a substring
        • Player - Player 8 (Pink) types a chat message containing -save as a substring
        • Player - Player 9 (Gray) types a chat message-Containing save as a substring
        • Player - Player 10 (Light Blue) types a chat message containing -save as a substring
        • Player - Player 11 (Dark Green) types a chat message containing -save as a substring
      • Conditions
      • Actions
        • Set SaveCount = 0
        • Set SaveCount = (SaveCount + 1)
        • Set Save [SaveCount] = ((Triggering player) Current gold)
        • Set UnitGroup = (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to TRUE))
        • Set SaveCount = (SaveCount + 1)
        • Set Save [SaveCount] = (Number of units in UnitGroup)
        • Group unit - Pick Every Unit in UnitGroup and do (Actions)
          • Loop - Actions
            • Set SaveCount = (SaveCount + 1)
            • Set TempUnit = (Picked unit)
            • Custom script: set udg_Save [udg_SaveCount] = SaveLoad_Unit2Integer (udg_TempUnit)
            • Set SaveCount = (SaveCount + 1)
            • Set Save [SaveCount] = (Hero experience of (Picked unit))
            • Set SaveCount = (SaveCount + 1)
            • Set Save [SaveCount] = (Integer ((X of (Position of (Picked unit)))))
            • Set SaveCount = (SaveCount + 1)
            • Set Save [SaveCount] = (Integer ((Y of (Position of (Picked unit)))))
            • Set SaveCount = (SaveCount + 1)
            • Set Save [SaveCount] = (Number of items Carried by (Picked unit))
            • For each (Integer A) from 1 to 6, do (Actions)
              • Loop - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • ((Item Carried by (Picked unit) in slot (Integer A)) is owned) Equal to TRUE *
                  • Then - Actions
                    • Set SaveCount = (SaveCount + 1)
                    • Set TempItem = (Item Carried by (Picked unit) in slot (Integer A))
                    • Custom script: set udg_Save [udg_SaveCount] = SaveLoad_Item2Integer (udg_TempItem)
                    • Set SaveCount = (SaveCount + 1)
                    • Set Save [SaveCount] = (Remaining Charges in (Item Carried by (Picked unit) in slot (Integer A)))
                  • Otherwise - Actions
            • Set SaveCount = (SaveCount + 1)
            • Set Save [SaveCount] = ((Triggering player) Current Wood)
        • Custom script: set udg_Code SaveLoad_Encode = ()
        • Quest - Display to (Player group ((Triggering player))) the Secret message: Your code:
        • Part - Display to (Player group ((Triggering player))) for 300.00 seconds the text: Code


    • Load Copy
      • Events
        • Player - Player 1 (Red) types a chat message containing -load as A substring
        • Player - Player 2 (Blue) types a chat message containing -load as A substring
        • Player - Player 3 (Yellow) types a chat message containing -load as A substring
        • Player - Player 4 (Purple) types a chat message containing -load as A substring
        • Player - Player 5 (Yellow) types a chat message containing -load as A substring
        • Player - Player 6 (Orange) types a chat message containing -load as A substring
        • Player - Player 7 (Green) types a chat message containing -load as A substring
        • Player - Player 8 (Pink) types a chat message containing -load as A substring
        • Player - Player 9 (Gray) types a chat message containing -load as A substring
        • Player - Player 10 (Light Blue) types a chat message containing -load as A substring
        • Player - Player 11 (Dark Green) types a chat message containing -load as A substring
      • Conditions
        • SaveLoadHasLoaded [(Player number of (Triggering player))] Equal to FALSE
        • (Substring ((Entered chat string), 1, 6)) Equal to (Matched chat string)
        • (Length of (Entered chat string)) More than 6
      • Actions
        • Set Code = (Substring ((Entered chat string), 7, (Length of (Entered chat string))))
        • Custom script: set udg_Validate SaveLoad_Decode = (udg_Code)
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • Validate Equal to FALSE
          • Then - Actions
            • Part - Display to (Player group ((Triggering player))) the text: There are some err ...
            • Skip Remaining Actions
          • Otherwise - Actions
        • Group unit - Pick Every unit in (Units owned by (Triggering player)) and do (Actions)
          • Loop - Actions
            • Unit - Remove (Picked unit) from the game
        • Set SaveLoadHasLoaded [(Player number of (Triggering player))] = TRUE
        • Set SaveCount = 1
        • Player - Set (Triggering player) Current gold to Save [SaveCount]
        • Set SaveCount = (SaveCount + 1)
        • For each (Integer B) from 1 to Save [SaveCount], do (Actions)
          • Loop - Actions
            • Set SaveCount = (SaveCount + 1)
            • Custom script: set udg_TempUnitType SaveLoad_Integer2Unit = (udg_Save [udg_SaveCount])
            • Unit - Create 1 TempUnitType for (Triggering player) at ((Triggering player) start location) facing Default building orientation degrees
            • Set SaveLoadPlayerHeroSingle [(Player number of (Triggering player))] = (Last created unit)
            • Group unit - Add (Last created unit) to duelpeople
            • Player Group - Add (Owner of (Triggering unit)) to Players
            • Unit - Add SaveLoadAbilitiesStored [Save [SaveCount]] to (Last created unit)
            • Set SaveCount = (SaveCount + 1)
            • Hero - Set (Last created unit) experience to Save [SaveCount], Hide level-up graphics
            • Set SaveCount = (SaveCount + 1)
            • Unit - Move (Last created unit) Instantly to (Center of Load <gen> Heroes)
            • Set SaveCount = (SaveCount + 1)
            • Set SaveCount = (SaveCount + 1)
            • For each (Integer A) from 1 to Save [SaveCount], do (Actions)
              • Loop - Actions
                • Set SaveCount = (SaveCount + 1)
                • Custom script: set udg_TempItemType SaveLoad_Integer2Item = (udg_Save [udg_SaveCount])
                • Hero - Create TempItemType and give it to (Last created unit)
                • Set SaveCount = (SaveCount + 1)
                • Purpose - Set Remaining loads in (Last created item) to Save [SaveCount]
            • Set SaveCount = (SaveCount + 1)


    I remind that the Save Copy and Load Copy are disabled :vw_sad:
     
  8. Arhowk

    Arhowk

    Joined:
    Aug 8, 2007
    Messages:
    2,751
    Resources:
    0
    Resources:
    0
    So enable them?
     
  9. Jack_Avenger

    Jack_Avenger

    Joined:
    Apr 16, 2012
    Messages:
    4
    Resources:
    0
    Resources:
    0
    I can't...
     
  10. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,697
    Resources:
    20
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Resources:
    20
    Why can't you enable them?

    Btw, last time I tried using AceHart's system (many years ago), everytime I add special characters to the base, it stops working... I could save but cannot load...
     
  11. helekiller

    helekiller

    Joined:
    Aug 5, 2011
    Messages:
    99
    Resources:
    0
    Resources:
    0
    he cant enable them cuz he has errors for using function that he doesnt have... so as i said in the first post, copy and paste this code in ur own map (double click on ur map name in trigger editor)

    Code (vJASS):
    function SaveLoad_InitialSetup takes nothing returns nothing
        local integer i = 0
        local integer j = 0

        loop
            set udg_SaveLoad_Compress[i + 48] = j
            set udg_SaveLoad_Uncompress[i] = i + 48
            set j = j + 1
            set i = i + 1
            exitwhen i >= 10
        endloop
        set i = 0
        loop
            set udg_SaveLoad_Compress[i + 97] = j
            set udg_SaveLoad_Compress[i + 65] = j + 26
            set udg_SaveLoad_Uncompress[i + 10] = i + 97
            set udg_SaveLoad_Uncompress[i + 26 + 10] = i + 65
            set j = j + 1
            set i = i + 1
            exitwhen i >= 26
        endloop
    endfunction

    function SaveLoad_Id2CId takes integer n returns integer
        local integer i = n / (256 * 256 * 256)
        local integer r
        set n = n - i * (256 * 256 * 256)
        set r = udg_SaveLoad_Compress[i]
        set i = n / (256 * 256)
        set n = n - i * (256 * 256)
        set r = r * 64 + udg_SaveLoad_Compress[i]
        set i = n / 256
        set r = r * 64 + udg_SaveLoad_Compress[i]
        return r * 64 + udg_SaveLoad_Compress[n - i * 256]
    endfunction

    function SaveLoad_CId2Id takes integer n returns integer
        local integer i = n / (64 * 64 * 64)
        local integer r
        set n = n - i * (64 * 64 * 64)
        set r = udg_SaveLoad_Uncompress[i]
        set i = n / (64 * 64)
        set n = n - i * (64 * 64)
        set r = r * 256 + udg_SaveLoad_Uncompress[i]
        set i = n / 64
        set r = r * 256 + udg_SaveLoad_Uncompress[i]
        return r * 256 + udg_SaveLoad_Uncompress[n - i * 64]
    endfunction

    function SaveLoad_Unit2Integer takes unit u returns integer
        local integer i = 0
        local integer n = GetUnitTypeId(u)
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        loop
            set i = i + 1
            exitwhen i > udg_SaveLoad_Heroes_LastIndex
            if udg_SaveLoad_Heroes[i] == n then
                return i
            endif
        endloop
        return SaveLoad_Id2CId(n)
    endfunction
    function SaveLoad_Integer2Unit takes integer i returns integer
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        if i <= udg_SaveLoad_Heroes_LastIndex then
            return udg_SaveLoad_Heroes[i]
        endif
        return SaveLoad_CId2Id(i)
    endfunction

    function SaveLoad_Item2Integer takes item t returns integer
        local integer i = 0
        local integer n = GetItemTypeId(t)
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        loop
            set i = i + 1
            exitwhen i > udg_SaveLoad_Items_LastIndex
            if udg_SaveLoad_Items[i] == n then
                return i
            endif
        endloop
        return SaveLoad_Id2CId(n)
    endfunction
    function SaveLoad_Integer2Item takes integer i returns integer
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        if i <= udg_SaveLoad_Items_LastIndex then
            return udg_SaveLoad_Items[i]
        endif
        return SaveLoad_CId2Id(i)
    endfunction

    function SaveLoad_Ability2Integer takes integer a returns integer
        local integer i = 0
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        loop
            set i = i + 1
            exitwhen i > udg_SaveLoad_Abilities_LastIndex
            if udg_SaveLoad_Abilities[i] == a then
                return i
            endif
        endloop
        return SaveLoad_Id2CId(a)
    endfunction
    function SaveLoad_Integer2Ability takes integer i returns integer
        if udg_SaveLoad_Initialized == false then
            set udg_SaveLoad_Initialized = true
            call SaveLoad_InitialSetup()
        endif
        if i <= udg_SaveLoad_Abilities_LastIndex then
            return udg_SaveLoad_Abilities[i]
        endif
        return SaveLoad_CId2Id(i)
    endfunction

    function SaveLoad_Color takes string s returns string
        local integer i = StringLength(s)
        local string c
        local string r = ""

        loop
            set i = i - 1
            set c = SubString(s,i,i + 1)
            if c == "0" or c == "1" or c == "2" or c == "3" or c == "4" or c == "5" or c == "6" or c == "7" or c == "8" or c == "9" then
                set r = "|cffffcc00" + c + "|r" + r
            elseif c == "-" then
                set r = "|cffdddddd-|r" + r
            else
                set r = c + r
            endif
            exitwhen i <= 0
        endloop
        return r
    endfunction

    function SaveLoad_EncodeChar takes string n returns integer
        local integer i = 0
        local string s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        local string s2 = "abcdefghijklmnopqrstuvwxyz"
        local string s3 = "0123456789"

        loop
            if SubString(s1,i,i + 1) == n then
                return i
            endif
            if SubString(s2,i,i + 1) == n then
                return i
            endif
            set i = i + 1
            exitwhen i >= 26
        endloop
        set i = 0
        loop
            if SubString(s3,i,i + 1) == n then
                return i
            endif
            set i = i + 1
            exitwhen i >= 10
        endloop
        return 0
    endfunction

    function SaveLoad_EncodeVerify takes string buffer returns integer
        local integer i = 0
        local integer j = 0
        local string name = GetPlayerName(GetTriggerPlayer())
        if udg_SaveLoad_UsePlayername == true then
            loop
                set j = j + SaveLoad_EncodeChar(SubString(name,i,i + 1))
                set i = i + 1
                exitwhen i >= StringLength(name)
            endloop
        endif
        set i = 0
        loop
            set j = j + SaveLoad_EncodeChar(SubString(buffer,i,i + 1))
            set i = i + 1
            exitwhen i >= StringLength(buffer)
        endloop
        return j
    endfunction

    function SaveLoad_EncodeValues takes nothing returns string
        local integer i
        local integer j
        local integer k
        local integer l
        local integer m
        local integer CodeLength = StringLength(udg_SaveLoad_Alphabet)
        local integer array a
        local string buffer = ""
        local string c = ""
        local integer skip = 0
        local integer CONST = 1000000
        local string abc = "0123456789"

        set i = 0
        loop
            set i = i + 1
            exitwhen i > udg_SaveCount
            set buffer = buffer + I2S(udg_Save[i]) + "-"
        endloop
        set buffer = buffer + I2S(SaveLoad_EncodeVerify(buffer))
        if udg_Save[1] == 0 then
            set buffer = "-" + buffer
        endif

        set i = 0
        loop
            set a[i] = 0
            set i = i + 1
            exitwhen i >= 100
        endloop

        set m = 0
        set i = 0
        loop
            set j = 0
            loop
                set a[j] = a[j] * 11
                set j = j + 1
                exitwhen j > m
            endloop

            set l = 0
            set c = SubString(buffer,i,i + 1)
            loop
                exitwhen SubString(abc,l,l + 1) == c
                set l = l + 1
                exitwhen l > 9
            endloop
            set a[0] = a[0] + l

            set j = 0
            loop
                set k = a[j] / CONST
                set a[j] = a[j] - k * CONST
                set a[j + 1] = a[j + 1] + k
                set j = j + 1
                exitwhen j > m
            endloop
            if k > 0 then
                set m = m + 1
            endif
            set i = i + 1
            exitwhen i >= StringLength(buffer)
        endloop

        set buffer = ""
        loop
            exitwhen m < 0
            set j = m
            loop
                exitwhen j <= 0
                set k = a[j] / CodeLength
                set a[j - 1] = a[j - 1] + (a[j] - k * CodeLength) * CONST
                set a[j] = k
                set j = j - 1
            endloop
            set k = a[j] / CodeLength
            set i = a[j] - k * CodeLength
            set buffer = buffer + SubString(udg_SaveLoad_Alphabet,i,i + 1)
            set a[j] = k
            if a[m] == 0 then
                set m = m - 1
            endif
        endloop

        set i = StringLength(buffer)
        set skip = 0
        set c = ""
        loop
            set i = i - 1
            set c = c + SubString(buffer,i,i + 1)
            set skip = skip + 1
            if skip == 4 and i > 0 then
                set c = c + "-"
                set skip = 0
            endif
            exitwhen i <= 0
        endloop
        return c
    endfunction

    function SaveLoad_DecodeValues takes string s returns boolean
        local integer i
        local integer j
        local integer k
        local integer l
        local integer SaveCode = 0
        local integer m
        local integer array a
        local string buffer = ""
        local integer CodeLength = StringLength(udg_SaveLoad_Alphabet)
        local integer skip = -1
        local integer CONST = 1000000
        local string abc = "0123456789-"
        local string c

        set i = 0
        loop
            set a[i] = 0
            set i = i + 1
            exitwhen i >= 100
        endloop

        set m = 0

        set i = 0
        loop
            set j = 0
            loop
                set a[j] = a[j] * CodeLength
                set j = j + 1
                exitwhen j > m
            endloop

            set skip = skip + 1
            if skip == 4 then
                set skip = 0
                set i = i + 1
            endif

            set l = CodeLength
            set c = SubString(s,i,i + 1)
            loop
                set l = l - 1
                exitwhen l < 1
                exitwhen SubString(udg_SaveLoad_Alphabet,l,l + 1) == c
            endloop
            set a[0] = a[0] + l

            set j = 0
            loop
                set k = a[j] / CONST
                set a[j] = a[j] - k * CONST
                set a[j + 1] = a[j + 1] + k
                set j = j + 1
                exitwhen j > m
            endloop
            if k > 0 then
                set m = m + 1
            endif
            set i = i + 1
            exitwhen i >= StringLength(s)
        endloop

        loop
            exitwhen m < 0
            set j = m
            loop
                exitwhen j <= 0
                set k = a[j] / 11
                set a[j - 1] = a[j - 1] + (a[j] - k * 11) * CONST
                set a[j] = k
                set j = j - 1
            endloop
            set k = a[j] / 11
            set i = a[j] - k * 11
            set buffer = SubString(abc,i,i + 1) + buffer
            set a[j] = k
            if a[m] == 0 then
                set m = m - 1
            endif
        endloop

        set i = 0
        set j = 0
        loop
            loop
                exitwhen i >= StringLength(buffer)
                exitwhen i > 0 and SubString(buffer,i,i + 1) == "-" and SubString(buffer,i - 1,i) != "-"
                set i = i + 1
            endloop
            if i < StringLength(buffer) then
                set k = i
            endif
            set SaveCode = SaveCode + 1
            set udg_Save[SaveCode] = S2I(SubString(buffer,j,i))
            set j = i + 1
            set i = i + 1
            exitwhen i >= StringLength(buffer)
        endloop

        set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
        set udg_SaveCount = SaveCode - 1
        if j == udg_Save[SaveCode] then
            return true
        endif
        return false
    endfunction

    function SaveLoad_Encode takes nothing returns string
        if udg_SaveLoad_CaseSensitive == false then
            set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true)
        endif
        return SaveLoad_Color(SaveLoad_EncodeValues())
    endfunction

    function SaveLoad_Decode takes string s returns boolean
        if udg_SaveLoad_CaseSensitive == false then
            set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true)
            set s = StringCase(s,true)
        endif
        if SaveLoad_DecodeValues(s) then
            call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding sucessful")
            return true
        endif
        call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding failed")
        return false
    endfunction
     
     
  12. Jack_Avenger

    Jack_Avenger

    Joined:
    Apr 16, 2012
    Messages:
    4
    Resources:
    0
    Resources:
    0
    Thank you very much helekiller ! It works!! ^^
     
  13. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,697
    Resources:
    20
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Resources:
    20
    so basically, you forgot to read the instructions on how to import that system... next time make sure you read everything first... :)