Skip to content

Instantly share code, notes, and snippets.

@tserber98
Created August 6, 2020 17:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tserber98/b0d177c4dffa38e4719695b13c87e55f to your computer and use it in GitHub Desktop.
Save tserber98/b0d177c4dffa38e4719695b13c87e55f to your computer and use it in GitHub Desktop.
init python:
from pygame import KEYDOWN, KEYUP, MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN
class AFKDetecter(renpy.Displayable):
def __init__(self, afk_time_holder):
super(AFKDetecter, self).__init__()
self.afk_time_holder = afk_time_holder
def render(self, width, height, st, at):
rv = renpy.display.render.Render(config.screen_width, config.screen_height)
return rv
def event(self, ev, x, y, st):
if ev.type in [KEYDOWN, KEYUP, MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN]:
self.afk_time_holder.reset()
return None
def visit(self):
return []
class AFKTimeHolder:
def __init__(self, maximum_afk_time):
self.value = 0
self.expired = False
self.maximum_afk_time = maximum_afk_time
def reset(self):
self.value = 0
self.expired = False
def tick(self):
self.value += 1
def send_to_label(self):
if self.expired:
return False
if self.value >= self.maximum_afk_time:
self.expired = True
return True
return False
label go_play:
'Давай играй!'
screen afk_detecter:
add AFKDetecter(afk_time_holder)
timer 1.0 repeat True action [Function(afk_time_holder.tick), If(afk_time_holder.send_to_label(), true=Call('go_play'))]
if config.developer:
text "Время в АФК: %s" % (afk_time_holder.value)
init:
define MAXIMUM_AFK_TIME = 60
$ afk_time_holder = AFKTimeHolder(MAXIMUM_AFK_TIME)
label start:
$ afk_time_holder.reset()
show screen afk_detecter
"Вступление."
"Очешуительная история."
"Заключение."
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment