Snippet PreventSave

Reaction score
341
Introduction
This library is simple enough. It allows you to enable or disabled game saving. It works by showing a dialog instantly before a game is saved. This closes the save screen therefor the game is never actually saved. Nothing visually happens to the game except for maybe a quick open and close of the save dialog, though it's hardly noticeable.

This even works in single player surprisngly without pausing the game which usually happens when a dialog is opened offline. You can toggle allowing or disallowing saving by setting GAME_ALLOW_SAVE to true, or false.

Code

JASS:
//====================================
// PreventSave
//====================================
//
//   This library is simple enough. It allows you to enable or
//   disabled game saving. It works by showing a dialog instantly
//   before a game is saved. This closes the save screen therefor
//   the game is never actually saved.
//
//   Nothing visually happens to the game except for maybe a quick open
//   and close of the save dialog, though it's hardly noticeable.
//   This even works in single player surprisngly without pausing the game
//   which usually happens when a dialog is opened offline.
//
//   You can toggle allowing or disallowing saving by setting
//   GameAllowSave to true, or false.
//
//====================================
// Import Instructions
//====================================
//
//   1. Copy this entire script.
//   2. Create a new trigger in your trigger
//      editor and convert it to Jass.
//   3. Paste this in there and save the map.
//
//      This requires JassHelper which is included
//      in JassNewGenPack.
//

library PreventSave initializer onInit
    
    globals
        boolean GameAllowSave = false
    endglobals
    
    globals
        private dialog D = DialogCreate()
        private timer T  = CreateTimer()
    endglobals
    
    private function Exit takes nothing returns nothing
        call DialogDisplay(GetLocalPlayer(), D, false)
    endfunction
    
    private function StopSave takes nothing returns nothing
        if not GameAllowSave then
            call DialogDisplay(GetLocalPlayer(), D, true)
            call TimerStart(T, 0.00, false, function Exit)
        endif
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterGameEvent(t, EVENT_GAME_SAVE)
        call TriggerAddAction(t, function StopSave)
    endfunction

endlibrary
 

Viikuna

No Marlo no game.
Reaction score
265
Thats damn cool. Ive seen something like this in some single player maps. You can actually make some save points now, where saving is only allowed.
 

Jesus4Lyf

Good Idea™
Reaction score
397
JASS:
    private function StopSave takes nothing returns nothing
        local integer i = 0
        if not GAME_ALLOW_SAVE then
            call DialogDisplay(GetLocalPlayer(), D, true)
            call TimerStart(T, 0.00, false, function Exit)
        endif
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterGameEvent(t, EVENT_GAME_SAVE)
        call TriggerAddAction(t, function StopSave)
    endfunction

-->
JASS:
    private function StopSave takes nothing returns boolean
        //local integer i = 0
        if not GAME_ALLOW_SAVE then
            call DialogDisplay(GetLocalPlayer(), D, true)
            call TimerStart(T, 0.00, false, function Exit)
        endif
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterGameEvent(t, EVENT_GAME_SAVE)
        call TriggerAddCondition(t, Filter(function StopSave))
    endfunction

Of course, this is irrelevant to the awesomeness of this. Well done. :)

Edit: Will approve if we can get a verify that this works online without desynchs...
 
Reaction score
341
I've tested online, but not the GetLocalPlayer() version, before I used a player loop.

That's where the [ljass]local integer i[/ljass] came from :p

I had the other player save too, just to make sure that the save wasn't added with delay.
 

Viikuna

No Marlo no game.
Reaction score
265
Id guss that displaying dialog is local stuff, but testing it is ofc the best way to find out.

Lols, I sometimes actually forget multiplayer saving, since I see it used so rarely.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
[ljass]boolean GAME_ALLOW_SAVE = false[/ljass]

-->

[ljass]private constant boolean GAME_ALLOW_SAVE = false[/ljass]

Other than that, system looks good. +rep
 

Viikuna

No Marlo no game.
Reaction score
265
That would totally fuck up that cool saving point idea :(
 

Executor

I see you
Reaction score
57
JASS:
//   This library is simple enough. It allows you to enable or
//   disabled game saving.


"disabled"

Nice Idea!
 

tooltiperror

Super Moderator
Reaction score
231
This is grand!

I hate how in so many games that people are asses and they all save to lag and annoy people.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    So what it really is me trying to implement some kind of better site navigation not change the whole theme of the site
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top