1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The reforging of the races is complete. Come see the 14th Techtree Contest Results.
    Dismiss Notice
  4. It's time to choose your horse in the race - the 32nd Modeling Contest Poll is up!
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Problem with saveing the game

Discussion in 'World Editor Help Zone' started by Banti, May 16, 2013.

  1. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Hi
    I have large map with many units, dodats and items (many custom). When I am around 60% of the map when I play is getting crash when I want to save, I saying that is unable to process this command because of storage. Can I fix this somehow? I checked my map and think I delete as much I could memory leaks. Also I used wedgetiser and 5.0wc3mapoptimizer(without tweaks)
     
  2. Xonok

    Xonok

    Joined:
    Mar 27, 2012
    Messages:
    3,041
    Resources:
    8
    Spells:
    3
    Tutorials:
    5
    Resources:
    8
    I can't judge how leaky your map is or isn't based on what you say. I can only do so by actually looking at the triggers.
    The storage thing might either be about too little RAM, too little hard drive space or access limitations.
     
  3. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,526
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    u can have a corrupted model file. This will cause the game to crash when loading.
    Or something that cant be run on map initialization.
    or infinite loop trigger at map init.
     
  4. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I delete respawn and some other triggers with creating units. Maybe that will help a little. As far I know creating units making permanent leaks still when I do temp_point. Does is any way to make more memory for editor?
     
  5. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,526
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    no way to make more and that wont be the problem.
     
  6. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Does that trigger can create a loop

    Mana Potion Copy
    Events
    Unit - A unit Acquires an item
    Conditions
    Or - Any (Conditions) are true
    Conditions
    (Item-type of (Item being manipulated)) Equal to Bryonia
    (Item-type of (Item being manipulated)) Equal to Ginatia
    (Item-type of (Item being manipulated)) Equal to Hasmirin
    ((Triggering unit) is An Ancient) Equal to True
    ((Hero manipulating item) has an item of type Bryonia) Equal to True
    ((Hero manipulating item) has an item of type Ginatia) Equal to True
    ((Hero manipulating item) has an item of type Hasmirin) Equal to True
    ((Triggering unit) is An Ancient) Equal to True
    Actions
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Bryonia)
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Ginatia)
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Hasmirin)
    Hero - Create Clarity Potion and give it to (Hero manipulating item)
    Sound - Play WandOfIllusionTarget1_Potions <gen>
    Wait 1.00 seconds
    Sound - Stop WandOfIllusionTarget1_Potions <gen> Immediately
     
  7. WaterKnight

    WaterKnight

    Joined:
    Aug 18, 2009
    Messages:
    4,034
    Resources:
    5
    Maps:
    1
    Tutorials:
    4
    Resources:
    5
    No, giving an item via trigger does fire the "Acquires an item" event but your conditions are not fulfilled there.

    There should be an error log of the crash in Warcraft III\Errors. Try to find the latest point when you can still save to get a clue what is the causing factor. Is your map laggy at this point? How much game time do your 60% correspond to? Do you make heavy use of gamecache/hashtable? Can you post the map?
     
  8. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    That what is saying in error logs:(I checked map before and after optimizer)

    This one before optimizer:(it might be jass inventory system but I am not sure)

    This application has encountered a critical error:
    Not enough storage is available to process this command.

    Program: d:\warcraft iii\war3.exe
    File: .\CDataAllocator.cpp
    Line: 152

    This one after optimizer:

    This application has encountered a critical error:
    Not enough storage is available to process this command.

    Program: d:\warcraft iii\war3.exe
    Object: Chunk (.?AUChunk@CDataStoreChunked@@)


    This application has encountered a critical error:
    Not enough storage is available to process this command.

    Program: D:\Warcraft III Originalny z plytki\worldedit121.exe
    Object: WERandomGroupSet (.?AUWERandomGroupSet@@)

    Before optimizer it happen more early. After optimizer it happen a little later. Around 45% is taking longer time to save and later at 60% is making crash. When I was not using jass and I had less dodats before in my map it was not crashing at all but special effects were not showing (only in the beginning). My map weight 53 MB. Can you send your email address
     
  9. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,526
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    http://www.hiveworkshop.com/forums/miscellaneous-tutorials-456/how-easily-post-triggers-163285/


    • Mana Potion Copy
      • Events
        • Unit - A unit Acquires an item
      • Conditions
        • Or - Any (Conditions) are true
          • Conditions
            • (Item-type of (Item being manipulated)) Equal to Bryonia
            • (Item-type of (Item being manipulated)) Equal to Ginatia
            • (Item-type of (Item being manipulated)) Equal to Hasmirin
            • ((Triggering unit) is An Ancient) Equal to True
        • ((Hero manipulating item) has an item of type Bryonia) Equal to True
        • ((Hero manipulating item) has an item of type Ginatia) Equal to True
        • ((Hero manipulating item) has an item of type Hasmirin) Equal to True
        • ((Triggering unit) is An Ancient) Equal to True
      • Actions
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Bryonia)
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Ginatia)
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Hasmirin)
        • Hero - Create Clarity Potion and give it to (Hero manipulating item)
        • Sound - Play WandOfIllusionTarget1_Potions <gen>
        • Wait 1.00 seconds
        • Sound - Stop WandOfIllusionTarget1_Potions <gen> Immediately


    This can create an infinite loop if ur hero is an ancient

    Also if u have a lot of item recipes u should use an Item Recipe System. They can handle all the recipes in a nice easy way for u.
     
  10. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,943
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    When does it crash, you are not being clear...

    When saving the map in World Edit?
    When loading the map in Warcraft III?
    When saving an active session in Warcraft III?
    During an average session of Warcraft III at approximately the same progression state?

    We cannot help you until you make it clear which one of these applies to you.
     
  11. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Everything what I change in Word Edit is saving without any problem. When loading the map in Warcraft 3 don't have usually any problem, sometimes when I played around 55% of the map, I have problem with load the save in active playing. When I quit the game and then load the save is allright. When I save during active playing is making crash later in the game (when I played 60% of the map). Is usually the same progression state with optimizer and without so probably this same thing making crash

    Does trigger will make a loop when I put Unit - Order (Triggering unit) to Stop for Ancient (I think I want keep this one because I am using alchemy workbench to create potions)

    Healing Salve
    Events
    Unit - A unit Acquires an item
    Conditions
    Or - Any (Conditions) are true
    Conditions
    (Item-type of (Item being manipulated)) Equal to Bryonia
    (Item-type of (Item being manipulated)) Equal to Balisse
    (Item-type of (Item being manipulated)) Equal to Urisal
    ((Triggering unit) is An Ancient) Equal to True
    ((Hero manipulating item) has an item of type Bryonia) Equal to True
    ((Hero manipulating item) has an item of type Balisse) Equal to True
    ((Hero manipulating item) has an item of type Urisal ) Equal to True
    ((Triggering unit) is An Ancient) Equal to True
    Actions
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Bryonia)
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Balisse)
    Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Urisal )
    Hero - Create Healing Salve and give it to (Hero manipulating item)
    Sound - Play WandOfIllusionTarget1_Potions <gen>
    Wait 1.00 seconds
    Sound - Stop WandOfIllusionTarget1_Potions <gen> Immediately
    Unit - Order (Triggering unit) to Stop

    Can I address Custom script: call DestroyTrigger(GetTriggeringTrigger()) to a different triggers. Now I am just using this one
    in the second part of the quest. For example I have troll quest and reward troll quest. I can puted destroy trigger to reward troll quest, can I address this somehow to troll quest [call DestroyTrigger(troll quest) don't want to work]
     
    Last edited: May 18, 2013
  12. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,943
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    The WarCraft III save system is buggy and cannot be used reliably. An example is that timer states do not get saved and restored properly breaking any such script that requires this functionality that was running during the time of the save. Your only option is to use Gamecache (singleplayer) or File I/O (multiplayer) to save a representation of game state.
     
  13. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Line 152 in my map is a last region I use so maybe I have too many regions. I will try reduce numbers of regions and delete as much triggers I can. Also I change GUI item recipes for my artifacts (I have them 13) into jass. I think that should speed up a little my map

    Program: d:\warcraft iii\war3.exe
    File: .\CDataAllocator.cpp
    Line: 152
     
  14. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,943
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    You are getting the game into a state of infinite memory allocation. You will probably find the process memory shoots from around 300MB odd to 4GB nearly instantly. As WarCraft III is only 32 bit compiled, it only supports up to 4GB odd (or less) before it runs out of address space. When it runs out of address space, the data allocator will fail as it cannot allocate more memory. This is a fatal error so the game shuts down.

    No... Line 152 corresponds to some C++ code at line 152 in .\CDataAllocator.cpp (the hint here is the "cpp" which is a cpp source code file). This has nothing to do with your map script.

    Will not solve anything unless it contains a logical error that you fix.
     
  15. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,526
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    This trigger is inefficient. anything u use twice or more u should store into a variable and use that. This will increase the efficiency and speed of a trigger. Also as i said this can create an infinite loop if the triggering unit is an ancient.

    Also plz use trigger tags like this. I already posted a liink on how to help u post triggers.
    • Healing Salve
      • Events
        • Unit - A unit Acquires an item
      • Conditions
        • Or - Any (Conditions) are true
          • Conditions
            • (Item-type of (Item being manipulated)) Equal to Bryonia
            • (Item-type of (Item being manipulated)) Equal to Balisse
            • (Item-type of (Item being manipulated)) Equal to Urisal
            • ((Triggering unit) is An Ancient) Equal to True
        • ((Hero manipulating item) has an item of type Bryonia) Equal to True
        • ((Hero manipulating item) has an item of type Balisse) Equal to True
        • ((Hero manipulating item) has an item of type Urisal ) Equal to True
        • ((Triggering unit) is An Ancient) Equal to True
      • Actions
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Bryonia)
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Balisse)
        • Hero - Order (Triggering unit) to use (Item carried by (Triggering unit) of type Urisal )
        • Hero - Create Healing Salve and give it to (Hero manipulating item)
        • Sound - Play WandOfIllusionTarget1_Potions <gen>
        • Wait 1.00 seconds
        • Sound - Stop WandOfIllusionTarget1_Potions <gen> Immediately
        • Unit - Order (Triggering unit) to Stop
     
  16. WaterKnight

    WaterKnight

    Joined:
    Aug 18, 2009
    Messages:
    4,034
    Resources:
    5
    Maps:
    1
    Tutorials:
    4
    Resources:
    5
    Since the "Is unit an ancient" condition is in the or-branch, do check for an infinite loop after all.
     
  17. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I think I will change this into a jass. Combine items and potions will have this same effect but they will work much quicker
     
  18. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,526
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    it is a little faster but if ur going to do that just use a recipe system from this site. The bugs are already fixed on them and it does exactly what u want with multiple item recipes.

    Ur problem tho is an infinite loop
     
  19. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I just have problem with alchemy. Does someone know any jass item recipe system which use ability to combine items
     
  20. Banti

    Banti

    Joined:
    Dec 21, 2012
    Messages:
    120
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I change gui recipe into jass I think it should be fix now. Thank you for help