← Ресурсы
mapclass.rpy
скрипт / 4,7 КБ / 132 строки
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129init -50 python:
global_map_result="error"
def init_map_zones_realization(zones,default):
global global_zones
global_zones=zones
for i,data in global_zones.iteritems():
data["chibi"] = None
data["label"] = default
data["available"] = True
data["been_here"] = 0
class Map(renpy.Displayable):
def __init__(self,pics,chibi,default):
renpy.Displayable.__init__(self)
self.pics=pics
self.chibi=chibi
self.default = default
config.overlay_functions.append(self.overlay)
def disable_all_zones(self):
global global_zones
for name,data in global_zones.iteritems():
data["label"] = self.default
data["available"] = False
data["been_here"] = 0
def enable_all_zones(self):
global global_zones
for name,data in global_zones.iteritems():
data["label"] = self.default
data["available"] = True
data["been_here"] = 0
def set_zone(self,name,label):
global global_zones
global_zones[name]["label"] = label
global_zones[name]["available"] = True
def reset_zone(self,name):
global global_zones
global_zones[name]["label"] = self.default
global_zones[name]["available"] = False
global_zones[name]["been_here"] = 0
def enable_empty_zone(self,name):
global global_zones
self.set_zone(name,self.default)
global_zones[name]["available"] = True
def reset_current_zone(self):
self.enable_empty_zone(global_map_result)
def disable_current_zone(self):
global global_zones
global_zones[global_map_result]["available"] = False
def been_there(self):
global global_zones
return global_zones[global_map_result]["been_here"]
def set_chibi(self,name,ch):
global global_zones
if ch in self.chibi:
global_zones[name]["chibi"] = self.chibi[ch]
else:
global_zones[name]["chibi"] = None
def reset_chibi(self,name):
self.set_chibi(name,"")
def event(self, ev, x, y, st):
return
def render(self, width, height, st, at):
return renpy.Render(1, 1)
def zoneclick(self,name):
global global_zones
global global_map_result
store.map_enabled=False
renpy.scene('mapoverlay')
global_zones[name]["been_here"] += 1
global_map_result = name
renpy.scene()
renpy.config.skipping = False
renpy.game.after_rollback = False
ui.jumps(global_zones[name]["label"])()
def overlay(self):
if store.map_enabled:
global global_zones
renpy.scene('mapoverlay')
ui.layer('mapoverlay')
for name,data in global_zones.iteritems():
if data["available"]:
pos = data["position"]
ui.imagebutton(
im.Crop(self.pics["available"],pos[0],pos[1],pos[2]-pos[0],pos[3]-pos[1]),
im.Crop(self.pics["selected"], pos[0],pos[1],pos[2]-pos[0],pos[3]-pos[1]),
clicked = renpy.curry(self.zoneclick)(name),
xpos = pos[0],
ypos = pos[1]
)
if data["chibi"] != None:
ui.imagebutton(
anim.Blink(data["chibi"]),
anim.Blink(data["chibi"]),
clicked = renpy.curry(self.zoneclick)(name),
xpos = pos[0],
ypos = pos[1]
)
ui.close()
store.map = Map(store.map_pics, store.map_chibi, default)
label _show_map:
scene widget map
$ store.map_enabled = True
$ ui.interact()
jump _show_map
label nothing_here:
python:
random = renpy.random.choice([
u"Тут ничего нет",
u"Мне нечего тут делать",
u"Пойду-ка я лучше еще куда-нибудь"
])
"%(random)s"
jump _show_map
# Decompiled by unrpyc: https://github.com/CensoredUsername/unrpyc