Ресурсы

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