[Tutorial] Modular Programming
#25

A couple of years or so back I was playing around with modules in Pawn - I wanted it to be so that I could drag/drop and just add an #include line, so modules would be interchangeable.

Below is the code I used to achieve it - more for educational purposes than actual production value.

If you are writing something large enough to require modularity I would recommend SampSharp or Shoebill - as these provide an interface with enterprise level programming languages built around the idea of large, OOP, modular projects.


metarpg/modules.inc
(defines a unique Module: token, calculating a new one every time you include it.)
PHP Code:
#if __Pawn != 0x030A
    #error Use the improved compiler
#endif
#if !defined  @__this
    #define @__this 1
    #define Module: @1@
#else
    #if @__this == 1
        #undef Module
        #undef @__this
        #define @__this 2
        #define Module: @2@
        
    #elseif @__this == 2
        #undef Module
        #undef @__this
        #define @__this 3
        #define Module: @3@
        
    #elseif @__this == 3
        #undef Module
        #undef @__this
        #define @__this 4
        #define Module: @4@
        
    #elseif @__this == 4
        #undef Module
        #undef @__this
        #define @__this 5
        #define Module: @5@
        
    #elseif @__this == 5
        #undef Module
        #undef @__this
        #define @__this 6
        #define Module: @6@
        
    #elseif @__this == 6
        #undef Module
        #undef @__this
        #define @__this 7
        #define Module: @7@
        
    #elseif @__this == 7
        #undef Module
        #undef @__this
        #define @__this 8
        #define Module: @8@
        
    #elseif @__this == 8
        #undef Module
        #undef @__this
        #define @__this 9
        #define Module: @9@
        
    #elseif @__this == 9
        #undef Module
        #undef @__this
        #define @__this 10
        #define Module: @10@
        
    #elseif @__this == 10
        #undef Module
        #undef @__this
        #define @__this 11
        #define Module: @11@
        
    #elseif @__this == 11
        #undef Module
        #undef @__this
        #define @__this 12
        #define Module: @12@
        
    #elseif @__this == 12
        #undef Module
        #undef @__this
        #define @__this 13
        #define Module: @13@
        
    #elseif @__this == 13
        #undef Module
        #undef @__this
        #define @__this 14
        #define Module: @14@
        
    #elseif @__this == 14
        #undef Module
        #undef @__this
        #define @__this 15
        #define Module: @15@
        
    #elseif @__this == 15
        #undef Module
        #undef @__this
        #define @__this 16
        #define Module: @16@
        
    #elseif @__this == 16
        #undef Module
        #undef @__this
        #define @__this 17
        #define Module: @17@
        
    #elseif @__this == 17
        #undef Module
        #undef @__this
        #define @__this 18
        #define Module: @18@
        
    #elseif @__this == 18
        #undef Module
        #undef @__this
        #define @__this 19
        #define Module: @19@
        
    #elseif @__this == 19
        #undef Module
        #undef @__this
        #define @__this 20
        #define Module: @20@
        
    #elseif @__this == 20
        #undef Module
        #undef @__this
        #define @__this 21
        #define Module: @21@
        
    #elseif @__this == 21
        #undef Module
        #undef @__this
        #define @__this 22
        #define Module: @22@
        
    #elseif @__this == 22
        #undef Module
        #undef @__this
        #define @__this 23
        #define Module: @23@
        
    #elseif @__this == 23
        #undef Module
        #undef @__this
        #define @__this 24
        #define Module: @24@
        
    #elseif @__this == 24
        #undef Module
        #undef @__this
        #define @__this 25
        #define Module: @25@
        
    #elseif @__this == 25
        #undef Module
        #undef @__this
        #define @__this 26
        #define Module: @26@
        
    #elseif @__this == 26
        #undef Module
        #undef @__this
        #define @__this 27
        #define Module: @27@
        
    #elseif @__this == 27
        #undef Module
        #undef @__this
        #define @__this 28
        #define Module: @28@
        
    #elseif @__this == 28
        #undef Module
        #undef @__this
        #define @__this 29
        #define Module: @29@
        
    #elseif @__this == 29
        #undef Module
        #undef @__this
        #define @__this 30
        #define Module: @30@
        
    #elseif @__this == 30
        #undef Module
        #undef @__this
        #define @__this 31
        #define Module: @31@
        
    #elseif @__this == 31
        #undef Module
        #undef @__this
        #define @__this 32
        #define Module: @32@
        
    #elseif @__this == 32
        #undef Module
        #undef @__this
        #define @__this 33
        #define Module: @33@
        
    #elseif @__this == 33
        #undef Module
        #undef @__this
        #define @__this 34
        #define Module: @34@
        
    #elseif @__this == 34
        #undef Module
        #undef @__this
        #define @__this 35
        #define Module: @35@
        
    #elseif @__this == 35
        #undef Module
        #undef @__this
        #define @__this 36
        #define Module: @36@
        
    #elseif @__this == 36
        #undef Module
        #undef @__this
        #define @__this 37
        #define Module: @37@
        
    #elseif @__this == 37
        #undef Module
        #undef @__this
        #define @__this 38
        #define Module: @38@
        
    #elseif @__this == 38
        #undef Module
        #undef @__this
        #define @__this 39
        #define Module: @39@
        
    #elseif @__this == 39
        #undef Module
        #undef @__this
        #define @__this 40
        #define Module: @40@
        
    #elseif @__this == 40
        #undef Module
        #undef @__this
        #define @__this 41
        #define Module: @41@
        
    #elseif @__this == 41
        #undef Module
        #undef @__this
        #define @__this 42
        #define Module: @42@
        
    #elseif @__this == 42
        #undef Module
        #undef @__this
        #define @__this 43
        #define Module: @43@
        
    #elseif @__this == 43
        #undef Module
        #undef @__this
        #define @__this 44
        #define Module: @44@
        
    #elseif @__this == 44
        #undef Module
        #undef @__this
        #define @__this 45
        #define Module: @45@
        
    #elseif @__this == 45
        #undef Module
        #undef @__this
        #define @__this 46
        #define Module: @46@
        
    #elseif @__this == 46
        #undef Module
        #undef @__this
        #define @__this 47
        #define Module: @47@
        
    #elseif @__this == 47
        #undef Module
        #undef @__this
        #define @__this 48
        #define Module: @48@
        
    #elseif @__this == 48
        #undef Module
        #undef @__this
        #define @__this 49
        #define Module: @49@
        
    #elseif @__this == 49
        #undef Module
        #undef @__this
        #define @__this 50
        #define Module: @50@
        
    #elseif @__this == 50
        #undef Module
        #undef @__this
        #define @__this 51
        #define Module: @51@
        
    #elseif @__this == 51
        #undef Module
        #undef @__this
        #define @__this 52
        #define Module: @52@
        
    #elseif @__this == 52
        #undef Module
        #undef @__this
        #define @__this 53
        #define Module: @53@
        
    #elseif @__this == 53
        #undef Module
        #undef @__this
        #define @__this 54
        #define Module: @54@
        
    #elseif @__this == 54
        #undef Module
        #undef @__this
        #define @__this 55
        #define Module: @55@
        
    #elseif @__this == 55
        #undef Module
        #undef @__this
        #define @__this 56
        #define Module: @56@
        
    #elseif @__this == 56
        #undef Module
        #undef @__this
        #define @__this 57
        #define Module: @57@
        
    #elseif @__this == 57
        #undef Module
        #undef @__this
        #define @__this 58
        #define Module: @58@
        
    #elseif @__this == 58
        #undef Module
        #undef @__this
        #define @__this 59
        #define Module: @59@
        
    #elseif @__this == 59
        #undef Module
        #undef @__this
        #define @__this 60
        #define Module: @60@
        
    #elseif @__this == 60
        #undef Module
        #undef @__this
        #define @__this 61
        #define Module: @61@
        
    #elseif @__this == 61
        #undef Module
        #undef @__this
        #define @__this 62
        #define Module: @62@
        
    #elseif @__this == 62
        #undef Module
        #undef @__this
        #define @__this 63
        #define Module: @63@
        
    #elseif @__this == 63
        #undef Module
        #undef @__this
        #define @__this 64
        #define Module: @64@
        
    #elseif @__this == 64
        #undef Module
        #undef @__this
        #define @__this 65
        #define Module: @65@
        
    #elseif @__this == 65
        #undef Module
        #undef @__this
        #define @__this 66
        #define Module: @66@
        
    #elseif @__this == 66
        #undef Module
        #undef @__this
        #define @__this 67
        #define Module: @67@
        
    #elseif @__this == 67
        #undef Module
        #undef @__this
        #define @__this 68
        #define Module: @68@
        
    #elseif @__this == 68
        #undef Module
        #undef @__this
        #define @__this 69
        #define Module: @69@
        
    #elseif @__this == 69
        #undef Module
        #undef @__this
        #define @__this 70
        #define Module: @70@
        
    #elseif @__this == 70
        #undef Module
        #undef @__this
        #define @__this 71
        #define Module: @71@
        
    #elseif @__this == 71
        #undef Module
        #undef @__this
        #define @__this 72
        #define Module: @72@
        
    #elseif @__this == 72
        #undef Module
        #undef @__this
        #define @__this 73
        #define Module: @73@
        
    #elseif @__this == 73
        #undef Module
        #undef @__this
        #define @__this 74
        #define Module: @74@
        
    #elseif @__this == 74
        #undef Module
        #undef @__this
        #define @__this 75
        #define Module: @75@
        
    #elseif @__this == 75
        #undef Module
        #undef @__this
        #define @__this 76
        #define Module: @76@
        
    #elseif @__this == 76
        #undef Module
        #undef @__this
        #define @__this 77
        #define Module: @77@
        
    #elseif @__this == 77
        #undef Module
        #undef @__this
        #define @__this 78
        #define Module: @78@
        
    #elseif @__this == 78
        #undef Module
        #undef @__this
        #define @__this 79
        #define Module: @79@
        
    #elseif @__this == 79
        #undef Module
        #undef @__this
        #define @__this 80
        #define Module: @80@
        
    #elseif @__this == 80
        #undef Module
        #undef @__this
        #define @__this 81
        #define Module: @81@
        
    #elseif @__this == 81
        #undef Module
        #undef @__this
        #define @__this 82
        #define Module: @82@
        
    #elseif @__this == 82
        #undef Module
        #undef @__this
        #define @__this 83
        #define Module: @83@
        
    #elseif @__this == 83
        #undef Module
        #undef @__this
        #define @__this 84
        #define Module: @84@
        
    #elseif @__this == 84
        #undef Module
        #undef @__this
        #define @__this 85
        #define Module: @85@
        
    #elseif @__this == 85
        #undef Module
        #undef @__this
        #define @__this 86
        #define Module: @86@
        
    #elseif @__this == 86
        #undef Module
        #undef @__this
        #define @__this 87
        #define Module: @87@
        
    #elseif @__this == 87
        #undef Module
        #undef @__this
        #define @__this 88
        #define Module: @88@
        
    #elseif @__this == 88
        #undef Module
        #undef @__this
        #define @__this 89
        #define Module: @89@
        
    #elseif @__this == 89
        #undef Module
        #undef @__this
        #define @__this 90
        #define Module: @90@
        
    #elseif @__this == 90
        #undef Module
        #undef @__this
        #define @__this 91
        #define Module: @91@
        
    #elseif @__this == 91
        #undef Module
        #undef @__this
        #define @__this 92
        #define Module: @92@
        
    #elseif @__this == 92
        #undef Module
        #undef @__this
        #define @__this 93
        #define Module: @93@
        
    #elseif @__this == 93
        #undef Module
        #undef @__this
        #define @__this 94
        #define Module: @94@
        
    #elseif @__this == 94
        #undef Module
        #undef @__this
        #define @__this 95
        #define Module: @95@
        
    #elseif @__this == 95
        #undef Module
        #undef @__this
        #define @__this 96
        #define Module: @96@
        
    #elseif @__this == 96
        #undef Module
        #undef @__this
        #define @__this 97
        #define Module: @97@
        
    #elseif @__this == 97
        #undef Module
        #undef @__this
        #define @__this 98
        #define Module: @98@
        
    #elseif @__this == 98
        #undef Module
        #undef @__this
        #define @__this 99
        #define Module: @99@
        
    #elseif @__this == 99
        #undef Module
        #undef @__this
        #define @__this 100
        #define Module: @100@
        
    #elseif @__this == 100
        #undef Module
        #undef @__this
        #define @__this 101
        #define Module: @101@
        
    #elseif @__this == 101
        #undef Module
        #undef @__this
        #define @__this 102
        #define Module: @102@
        
    #elseif @__this == 102
        #undef Module
        #undef @__this
        #define @__this 103
        #define Module: @103@
        
    #elseif @__this == 103
        #undef Module
        #undef @__this
        #define @__this 104
        #define Module: @104@
        
    #elseif @__this == 104
        #undef Module
        #undef @__this
        #define @__this 105
        #define Module: @105@
        
    #elseif @__this == 105
        #undef Module
        #undef @__this
        #define @__this 106
        #define Module: @106@
        
    #elseif @__this == 106
        #undef Module
        #undef @__this
        #define @__this 107
        #define Module: @107@
        
    #elseif @__this == 107
        #undef Module
        #undef @__this
        #define @__this 108
        #define Module: @108@
        
    #elseif @__this == 108
        #undef Module
        #undef @__this
        #define @__this 109
        #define Module: @109@
        
    #elseif @__this == 109
        #undef Module
        #undef @__this
        #define @__this 110
        #define Module: @110@
        
    #elseif @__this == 110
        #undef Module
        #undef @__this
        #define @__this 111
        #define Module: @111@
        
    #elseif @__this == 111
        #undef Module
        #undef @__this
        #define @__this 112
        #define Module: @112@
        
    #elseif @__this == 112
        #undef Module
        #undef @__this
        #define @__this 113
        #define Module: @113@
        
    #elseif @__this == 113
        #undef Module
        #undef @__this
        #define @__this 114
        #define Module: @114@
        
    #elseif @__this == 114
        #undef Module
        #undef @__this
        #define @__this 115
        #define Module: @115@
        
    #elseif @__this == 115
        #undef Module
        #undef @__this
        #define @__this 116
        #define Module: @116@
        
    #elseif @__this == 116
        #undef Module
        #undef @__this
        #define @__this 117
        #define Module: @117@
        
    #elseif @__this == 117
        #undef Module
        #undef @__this
        #define @__this 118
        #define Module: @118@
        
    #elseif @__this == 118
        #undef Module
        #undef @__this
        #define @__this 119
        #define Module: @119@
        
    #elseif @__this == 119
        #undef Module
        #undef @__this
        #define @__this 120
        #define Module: @120@
        
    #elseif @__this == 120
        #undef Module
        #undef @__this
        #define @__this 121
        #define Module: @121@
        
    #elseif @__this == 121
        #undef Module
        #undef @__this
        #define @__this 122
        #define Module: @122@
        
    #elseif @__this == 122
        #undef Module
        #undef @__this
        #define @__this 123
        #define Module: @123@
        
    #elseif @__this == 123
        #undef Module
        #undef @__this
        #define @__this 124
        #define Module: @124@
        
    #elseif @__this == 124
        #undef Module
        #undef @__this
        #define @__this 125
        #define Module: @125@
        
    #elseif @__this == 125
        #undef Module
        #undef @__this
        #define @__this 126
        #define Module: @126@
        
    #elseif @__this == 126
        #undef Module
        #undef @__this
        #define @__this 127
        #define Module: @127@
        
    #elseif @__this == 127
        #undef Module
        #undef @__this
        #define @__this 128
        #define Module: @128@
        
    #elseif @__this == 128
        #undef Module
        #undef @__this
        #define @__this 129
        #define Module: @129@
        
    #elseif @__this == 129
        #undef Module
        #undef @__this
        #define @__this 130
        #define Module: @130@
        
    #elseif @__this == 130
        #undef Module
        #undef @__this
        #define @__this 131
        #define Module: @131@
        
    #elseif @__this == 131
        #undef Module
        #undef @__this
        #define @__this 132
        #define Module: @132@
        
    #elseif @__this == 132
        #undef Module
        #undef @__this
        #define @__this 133
        #define Module: @133@
        
    #elseif @__this == 133
        #undef Module
        #undef @__this
        #define @__this 134
        #define Module: @134@
        
    #elseif @__this == 134
        #undef Module
        #undef @__this
        #define @__this 135
        #define Module: @135@
        
    #elseif @__this == 135
        #undef Module
        #undef @__this
        #define @__this 136
        #define Module: @136@
        
    #elseif @__this == 136
        #undef Module
        #undef @__this
        #define @__this 137
        #define Module: @137@
        
    #elseif @__this == 137
        #undef Module
        #undef @__this
        #define @__this 138
        #define Module: @138@
        
    #elseif @__this == 138
        #undef Module
        #undef @__this
        #define @__this 139
        #define Module: @139@
        
    #elseif @__this == 139
        #undef Module
        #undef @__this
        #define @__this 140
        #define Module: @140@
        
    #elseif @__this == 140
        #undef Module
        #undef @__this
        #define @__this 141
        #define Module: @141@
        
    #elseif @__this == 141
        #undef Module
        #undef @__this
        #define @__this 142
        #define Module: @142@
        
    #elseif @__this == 142
        #undef Module
        #undef @__this
        #define @__this 143
        #define Module: @143@
        
    #elseif @__this == 143
        #undef Module
        #undef @__this
        #define @__this 144
        #define Module: @144@
        
    #elseif @__this == 144
        #undef Module
        #undef @__this
        #define @__this 145
        #define Module: @145@
        
    #elseif @__this == 145
        #undef Module
        #undef @__this
        #define @__this 146
        #define Module: @146@
        
    #elseif @__this == 146
        #undef Module
        #undef @__this
        #define @__this 147
        #define Module: @147@
        
    #elseif @__this == 147
        #undef Module
        #undef @__this
        #define @__this 148
        #define Module: @148@
        
    #elseif @__this == 148
        #undef Module
        #undef @__this
        #define @__this 149
        #define Module: @149@
        
    #elseif @__this == 149
        #undef Module
        #undef @__this
        #define @__this 150
        #define Module: @150@
        
    #elseif @__this == 150
        #undef Module
        #undef @__this
        #define @__this 151
        #define Module: @151@
        
    #elseif @__this == 151
        #undef Module
        #undef @__this
        #define @__this 152
        #define Module: @152@
        
    #elseif @__this == 152
        #undef Module
        #undef @__this
        #define @__this 153
        #define Module: @153@
        
    #elseif @__this == 153
        #undef Module
        #undef @__this
        #define @__this 154
        #define Module: @154@
        
    #elseif @__this == 154
        #undef Module
        #undef @__this
        #define @__this 155
        #define Module: @155@
        
    #elseif @__this == 155
        #undef Module
        #undef @__this
        #define @__this 156
        #define Module: @156@
        
    #elseif @__this == 156
        #undef Module
        #undef @__this
        #define @__this 157
        #define Module: @157@
        
    #elseif @__this == 157
        #undef Module
        #undef @__this
        #define @__this 158
        #define Module: @158@
        
    #elseif @__this == 158
        #undef Module
        #undef @__this
        #define @__this 159
        #define Module: @159@
        
    #elseif @__this == 159
        #undef Module
        #undef @__this
        #define @__this 160
        #define Module: @160@
        
    #elseif @__this == 160
        #undef Module
        #undef @__this
        #define @__this 161
        #define Module: @161@
        
    #elseif @__this == 161
        #undef Module
        #undef @__this
        #define @__this 162
        #define Module: @162@
        
    #elseif @__this == 162
        #undef Module
        #undef @__this
        #define @__this 163
        #define Module: @163@
        
    #elseif @__this == 163
        #undef Module
        #undef @__this
        #define @__this 164
        #define Module: @164@
        
    #elseif @__this == 164
        #undef Module
        #undef @__this
        #define @__this 165
        #define Module: @165@
        
    #elseif @__this == 165
        #undef Module
        #undef @__this
        #define @__this 166
        #define Module: @166@
        
    #elseif @__this == 166
        #undef Module
        #undef @__this
        #define @__this 167
        #define Module: @167@
        
    #elseif @__this == 167
        #undef Module
        #undef @__this
        #define @__this 168
        #define Module: @168@
        
    #elseif @__this == 168
        #undef Module
        #undef @__this
        #define @__this 169
        #define Module: @169@
        
    #elseif @__this == 169
        #undef Module
        #undef @__this
        #define @__this 170
        #define Module: @170@
        
    #elseif @__this == 170
        #undef Module
        #undef @__this
        #define @__this 171
        #define Module: @171@
        
    #elseif @__this == 171
        #undef Module
        #undef @__this
        #define @__this 172
        #define Module: @172@
        
    #elseif @__this == 172
        #undef Module
        #undef @__this
        #define @__this 173
        #define Module: @173@
        
    #elseif @__this == 173
        #undef Module
        #undef @__this
        #define @__this 174
        #define Module: @174@
        
    #elseif @__this == 174
        #undef Module
        #undef @__this
        #define @__this 175
        #define Module: @175@
        
    #elseif @__this == 175
        #undef Module
        #undef @__this
        #define @__this 176
        #define Module: @176@
        
    #elseif @__this == 176
        #undef Module
        #undef @__this
        #define @__this 177
        #define Module: @177@
        
    #elseif @__this == 177
        #undef Module
        #undef @__this
        #define @__this 178
        #define Module: @178@
        
    #elseif @__this == 178
        #undef Module
        #undef @__this
        #define @__this 179
        #define Module: @179@
        
    #elseif @__this == 179
        #undef Module
        #undef @__this
        #define @__this 180
        #define Module: @180@
        
    #elseif @__this == 180
        #undef Module
        #undef @__this
        #define @__this 181
        #define Module: @181@
        
    #elseif @__this == 181
        #undef Module
        #undef @__this
        #define @__this 182
        #define Module: @182@
        
    #elseif @__this == 182
        #undef Module
        #undef @__this
        #define @__this 183
        #define Module: @183@
        
    #elseif @__this == 183
        #undef Module
        #undef @__this
        #define @__this 184
        #define Module: @184@
        
    #elseif @__this == 184
        #undef Module
        #undef @__this
        #define @__this 185
        #define Module: @185@
        
    #elseif @__this == 185
        #undef Module
        #undef @__this
        #define @__this 186
        #define Module: @186@
        
    #elseif @__this == 186
        #undef Module
        #undef @__this
        #define @__this 187
        #define Module: @187@
        
    #elseif @__this == 187
        #undef Module
        #undef @__this
        #define @__this 188
        #define Module: @188@
        
    #elseif @__this == 188
        #undef Module
        #undef @__this
        #define @__this 189
        #define Module: @189@
        
    #elseif @__this == 189
        #undef Module
        #undef @__this
        #define @__this 190
        #define Module: @190@
        
    #elseif @__this == 190
        #undef Module
        #undef @__this
        #define @__this 191
        #define Module: @191@
        
    #elseif @__this == 191
        #undef Module
        #undef @__this
        #define @__this 192
        #define Module: @192@
        
    #elseif @__this == 192
        #undef Module
        #undef @__this
        #define @__this 193
        #define Module: @193@
        
    #elseif @__this == 193
        #undef Module
        #undef @__this
        #define @__this 194
        #define Module: @194@
        
    #elseif @__this == 194
        #undef Module
        #undef @__this
        #define @__this 195
        #define Module: @195@
        
    #elseif @__this == 195
        #undef Module
        #undef @__this
        #define @__this 196
        #define Module: @196@
        
    #elseif @__this == 196
        #undef Module
        #undef @__this
        #define @__this 197
        #define Module: @197@
        
    #elseif @__this == 197
        #undef Module
        #undef @__this
        #define @__this 198
        #define Module: @198@
        
    #elseif @__this == 198
        #undef Module
        #undef @__this
        #define @__this 199
        #define Module: @199@
        
    #elseif @__this == 199
        #undef Module
        #undef @__this
        #define @__this 200
        #define Module: @200@
        
    #elseif @__this == 200
        #undef Module
        #undef @__this
        #define @__this 201
        #define Module: @201@
        
    #elseif @__this == 201
        #undef Module
        #undef @__this
        #define @__this 202
        #define Module: @202@
        
    #elseif @__this == 202
        #undef Module
        #undef @__this
        #define @__this 203
        #define Module: @203@
        
    #elseif @__this == 203
        #undef Module
        #undef @__this
        #define @__this 204
        #define Module: @204@
        
    #elseif @__this == 204
        #undef Module
        #undef @__this
        #define @__this 205
        #define Module: @205@
        
    #elseif @__this == 205
        #undef Module
        #undef @__this
        #define @__this 206
        #define Module: @206@
        
    #elseif @__this == 206
        #undef Module
        #undef @__this
        #define @__this 207
        #define Module: @207@
        
    #elseif @__this == 207
        #undef Module
        #undef @__this
        #define @__this 208
        #define Module: @208@
        
    #elseif @__this == 208
        #undef Module
        #undef @__this
        #define @__this 209
        #define Module: @209@
        
    #elseif @__this == 209
        #undef Module
        #undef @__this
        #define @__this 210
        #define Module: @210@
        
    #elseif @__this == 210
        #undef Module
        #undef @__this
        #define @__this 211
        #define Module: @211@
        
    #elseif @__this == 211
        #undef Module
        #undef @__this
        #define @__this 212
        #define Module: @212@
        
    #elseif @__this == 212
        #undef Module
        #undef @__this
        #define @__this 213
        #define Module: @213@
        
    #elseif @__this == 213
        #undef Module
        #undef @__this
        #define @__this 214
        #define Module: @214@
        
    #elseif @__this == 214
        #undef Module
        #undef @__this
        #define @__this 215
        #define Module: @215@
        
    #elseif @__this == 215
        #undef Module
        #undef @__this
        #define @__this 216
        #define Module: @216@
        
    #elseif @__this == 216
        #undef Module
        #undef @__this
        #define @__this 217
        #define Module: @217@
        
    #elseif @__this == 217
        #undef Module
        #undef @__this
        #define @__this 218
        #define Module: @218@
        
    #elseif @__this == 218
        #undef Module
        #undef @__this
        #define @__this 219
        #define Module: @219@
        
    #elseif @__this == 219
        #undef Module
        #undef @__this
        #define @__this 220
        #define Module: @220@
        
    #elseif @__this == 220
        #undef Module
        #undef @__this
        #define @__this 221
        #define Module: @221@
        
    #elseif @__this == 221
        #undef Module
        #undef @__this
        #define @__this 222
        #define Module: @222@
        
    #elseif @__this == 222
        #undef Module
        #undef @__this
        #define @__this 223
        #define Module: @223@
        
    #elseif @__this == 223
        #undef Module
        #undef @__this
        #define @__this 224
        #define Module: @224@
        
    #elseif @__this == 224
        #undef Module
        #undef @__this
        #define @__this 225
        #define Module: @225@
        
    #elseif @__this == 225
        #undef Module
        #undef @__this
        #define @__this 226
        #define Module: @226@
        
    #elseif @__this == 226
        #undef Module
        #undef @__this
        #define @__this 227
        #define Module: @227@
        
    #elseif @__this == 227
        #undef Module
        #undef @__this
        #define @__this 228
        #define Module: @228@
        
    #elseif @__this == 228
        #undef Module
        #undef @__this
        #define @__this 229
        #define Module: @229@
        
    #elseif @__this == 229
        #undef Module
        #undef @__this
        #define @__this 230
        #define Module: @230@
        
    #elseif @__this == 230
        #undef Module
        #undef @__this
        #define @__this 231
        #define Module: @231@
        
    #elseif @__this == 231
        #undef Module
        #undef @__this
        #define @__this 232
        #define Module: @232@
        
    #elseif @__this == 232
        #undef Module
        #undef @__this
        #define @__this 233
        #define Module: @233@
        
    #elseif @__this == 233
        #undef Module
        #undef @__this
        #define @__this 234
        #define Module: @234@
        
    #elseif @__this == 234
        #undef Module
        #undef @__this
        #define @__this 235
        #define Module: @235@
        
    #elseif @__this == 235
        #undef Module
        #undef @__this
        #define @__this 236
        #define Module: @236@
        
    #elseif @__this == 236
        #undef Module
        #undef @__this
        #define @__this 237
        #define Module: @237@
        
    #elseif @__this == 237
        #undef Module
        #undef @__this
        #define @__this 238
        #define Module: @238@
        
    #elseif @__this == 238
        #undef Module
        #undef @__this
        #define @__this 239
        #define Module: @239@
        
    #elseif @__this == 239
        #undef Module
        #undef @__this
        #define @__this 240
        #define Module: @240@
        
    #elseif @__this == 240
        #undef Module
        #undef @__this
        #define @__this 241
        #define Module: @241@
        
    #elseif @__this == 241
        #undef Module
        #undef @__this
        #define @__this 242
        #define Module: @242@
        
    #elseif @__this == 242
        #undef Module
        #undef @__this
        #define @__this 243
        #define Module: @243@
        
    #elseif @__this == 243
        #undef Module
        #undef @__this
        #define @__this 244
        #define Module: @244@
        
    #elseif @__this == 244
        #undef Module
        #undef @__this
        #define @__this 245
        #define Module: @245@
        
    #elseif @__this == 245
        #undef Module
        #undef @__this
        #define @__this 246
        #define Module: @246@
        
    #elseif @__this == 246
        #undef Module
        #undef @__this
        #define @__this 247
        #define Module: @247@
        
    #elseif @__this == 247
        #undef Module
        #undef @__this
        #define @__this 248
        #define Module: @248@
        
    #elseif @__this == 248
        #undef Module
        #undef @__this
        #define @__this 249
        #define Module: @249@
        
    #elseif @__this == 249
        #undef Module
        #undef @__this
        #define @__this 250
        #define Module: @250@
        
    #elseif @__this == 250
        #undef Module
        #undef @__this
        #define @__this 251
        #define Module: @251@
        
    #elseif @__this == 251
        #undef Module
        #undef @__this
        #define @__this 252
        #define Module: @252@
        
    #elseif @__this == 252
        #undef Module
        #undef @__this
        #define @__this 253
        #define Module: @253@
        
    #elseif @__this == 253
        #undef Module
        #undef @__this
        #define @__this 254
        #define Module: @254@
        
    #elseif @__this == 254
        #undef Module
        #undef @__this
        #define @__this 255
        #define Module: @255@
        
    #elseif @__this == 255
        #undef Module
        #undef @__this
        #define @__this 256
        #define Module: @256@
        
    #elseif @__this == 256
        #undef Module
        #undef @__this
        #define @__this 257
        #define Module: @257@
        
    #elseif @__this == 257
        #undef Module
        #undef @__this
        #define @__this 258
        #define Module: @258@
        
    #elseif @__this == 258
        #undef Module
        #undef @__this
        #define @__this 259
        #define Module: @259@
        
    #elseif @__this == 259
        #undef Module
        #undef @__this
        #define @__this 260
        #define Module: @260@
        
    #elseif @__this == 260
        #undef Module
        #undef @__this
        #define @__this 261
        #define Module: @261@
        
    #elseif @__this == 261
        #undef Module
        #undef @__this
        #define @__this 262
        #define Module: @262@
        
    #elseif @__this == 262
        #undef Module
        #undef @__this
        #define @__this 263
        #define Module: @263@
        
    #elseif @__this == 263
        #undef Module
        #undef @__this
        #define @__this 264
        #define Module: @264@
        
    #elseif @__this == 264
        #undef Module
        #undef @__this
        #define @__this 265
        #define Module: @265@
        
    #elseif @__this == 265
        #undef Module
        #undef @__this
        #define @__this 266
        #define Module: @266@
        
    #elseif @__this == 266
        #undef Module
        #undef @__this
        #define @__this 267
        #define Module: @267@
        
    #elseif @__this == 267
        #undef Module
        #undef @__this
        #define @__this 268
        #define Module: @268@
        
    #elseif @__this == 268
        #undef Module
        #undef @__this
        #define @__this 269
        #define Module: @269@
        
    #elseif @__this == 269
        #undef Module
        #undef @__this
        #define @__this 270
        #define Module: @270@
        
    #elseif @__this == 270
        #undef Module
        #undef @__this
        #define @__this 271
        #define Module: @271@
        
    #elseif @__this == 271
        #undef Module
        #undef @__this
        #define @__this 272
        #define Module: @272@
        
    #elseif @__this == 272
        #undef Module
        #undef @__this
        #define @__this 273
        #define Module: @273@
        
    #elseif @__this == 273
        #undef Module
        #undef @__this
        #define @__this 274
        #define Module: @274@
        
    #elseif @__this == 274
        #undef Module
        #undef @__this
        #define @__this 275
        #define Module: @275@
        
    #elseif @__this == 275
        #undef Module
        #undef @__this
        #define @__this 276
        #define Module: @276@
        
    #elseif @__this == 276
        #undef Module
        #undef @__this
        #define @__this 277
        #define Module: @277@
        
    #elseif @__this == 277
        #undef Module
        #undef @__this
        #define @__this 278
        #define Module: @278@
        
    #elseif @__this == 278
        #undef Module
        #undef @__this
        #define @__this 279
        #define Module: @279@
        
    #elseif @__this == 279
        #undef Module
        #undef @__this
        #define @__this 280
        #define Module: @280@
        
    #elseif @__this == 280
        #undef Module
        #undef @__this
        #define @__this 281
        #define Module: @281@
        
    #elseif @__this == 281
        #undef Module
        #undef @__this
        #define @__this 282
        #define Module: @282@
        
    #elseif @__this == 282
        #undef Module
        #undef @__this
        #define @__this 283
        #define Module: @283@
        
    #elseif @__this == 283
        #undef Module
        #undef @__this
        #define @__this 284
        #define Module: @284@
        
    #elseif @__this == 284
        #undef Module
        #undef @__this
        #define @__this 285
        #define Module: @285@
        
    #elseif @__this == 285
        #undef Module
        #undef @__this
        #define @__this 286
        #define Module: @286@
        
    #elseif @__this == 286
        #undef Module
        #undef @__this
        #define @__this 287
        #define Module: @287@
        
    #elseif @__this == 287
        #undef Module
        #undef @__this
        #define @__this 288
        #define Module: @288@
        
    #elseif @__this == 288
        #undef Module
        #undef @__this
        #define @__this 289
        #define Module: @289@
        
    #elseif @__this == 289
        #undef Module
        #undef @__this
        #define @__this 290
        #define Module: @290@
        
    #elseif @__this == 290
        #undef Module
        #undef @__this
        #define @__this 291
        #define Module: @291@
        
    #elseif @__this == 291
        #undef Module
        #undef @__this
        #define @__this 292
        #define Module: @292@
        
    #elseif @__this == 292
        #undef Module
        #undef @__this
        #define @__this 293
        #define Module: @293@
        
    #elseif @__this == 293
        #undef Module
        #undef @__this
        #define @__this 294
        #define Module: @294@
        
    #elseif @__this == 294
        #undef Module
        #undef @__this
        #define @__this 295
        #define Module: @295@
        
    #elseif @__this == 295
        #undef Module
        #undef @__this
        #define @__this 296
        #define Module: @296@
        
    #elseif @__this == 296
        #undef Module
        #undef @__this
        #define @__this 297
        #define Module: @297@
        
    #elseif @__this == 297
        #undef Module
        #undef @__this
        #define @__this 298
        #define Module: @298@
        
    #elseif @__this == 298
        #undef Module
        #undef @__this
        #define @__this 299
        #define Module: @299@
        
    #elseif @__this == 299
        #undef Module
        #undef @__this
        #define @__this 300
        #define Module: @300@
        
    #elseif @__this == 300
        #undef Module
        #undef @__this
        #define @__this 301
        #define Module: @301@
        
    #elseif @__this == 301
        #undef Module
        #undef @__this
        #define @__this 302
        #define Module: @302@
        
    #elseif @__this == 302
        #undef Module
        #undef @__this
        #define @__this 303
        #define Module: @303@
        
    #elseif @__this == 303
        #undef Module
        #undef @__this
        #define @__this 304
        #define Module: @304@
        
    #elseif @__this == 304
        #undef Module
        #undef @__this
        #define @__this 305
        #define Module: @305@
        
    #elseif @__this == 305
        #undef Module
        #undef @__this
        #define @__this 306
        #define Module: @306@
        
    #elseif @__this == 306
        #undef Module
        #undef @__this
        #define @__this 307
        #define Module: @307@
        
    #elseif @__this == 307
        #undef Module
        #undef @__this
        #define @__this 308
        #define Module: @308@
        
    #elseif @__this == 308
        #undef Module
        #undef @__this
        #define @__this 309
        #define Module: @309@
        
    #elseif @__this == 309
        #undef Module
        #undef @__this
        #define @__this 310
        #define Module: @310@
        
    #elseif @__this == 310
        #undef Module
        #undef @__this
        #define @__this 311
        #define Module: @311@
        
    #elseif @__this == 311
        #undef Module
        #undef @__this
        #define @__this 312
        #define Module: @312@
        
    #elseif @__this == 312
        #undef Module
        #undef @__this
        #define @__this 313
        #define Module: @313@
        
    #elseif @__this == 313
        #undef Module
        #undef @__this
        #define @__this 314
        #define Module: @314@
        
    #elseif @__this == 314
        #undef Module
        #undef @__this
        #define @__this 315
        #define Module: @315@
        
    #elseif @__this == 315
        #undef Module
        #undef @__this
        #define @__this 316
        #define Module: @316@
        
    #elseif @__this == 316
        #undef Module
        #undef @__this
        #define @__this 317
        #define Module: @317@
        
    #elseif @__this == 317
        #undef Module
        #undef @__this
        #define @__this 318
        #define Module: @318@
        
    #elseif @__this == 318
        #undef Module
        #undef @__this
        #define @__this 319
        #define Module: @319@
        
    #elseif @__this == 319
        #undef Module
        #undef @__this
        #define @__this 320
        #define Module: @320@
        
    #elseif @__this == 320
        #undef Module
        #undef @__this
        #define @__this 321
        #define Module: @321@
        
    #elseif @__this == 321
        #undef Module
        #undef @__this
        #define @__this 322
        #define Module: @322@
        
    #elseif @__this == 322
        #undef Module
        #undef @__this
        #define @__this 323
        #define Module: @323@
        
    #elseif @__this == 323
        #undef Module
        #undef @__this
        #define @__this 324
        #define Module: @324@
        
    #elseif @__this == 324
        #undef Module
        #undef @__this
        #define @__this 325
        #define Module: @325@
        
    #elseif @__this == 325
        #undef Module
        #undef @__this
        #define @__this 326
        #define Module: @326@
        
    #elseif @__this == 326
        #undef Module
        #undef @__this
        #define @__this 327
        #define Module: @327@
        
    #elseif @__this == 327
        #undef Module
        #undef @__this
        #define @__this 328
        #define Module: @328@
        
    #elseif @__this == 328
        #undef Module
        #undef @__this
        #define @__this 329
        #define Module: @329@
        
    #elseif @__this == 329
        #undef Module
        #undef @__this
        #define @__this 330
        #define Module: @330@
        
    #elseif @__this == 330
        #undef Module
        #undef @__this
        #define @__this 331
        #define Module: @331@
        
    #elseif @__this == 331
        #undef Module
        #undef @__this
        #define @__this 332
        #define Module: @332@
        
    #elseif @__this == 332
        #undef Module
        #undef @__this
        #define @__this 333
        #define Module: @333@
        
    #elseif @__this == 333
        #undef Module
        #undef @__this
        #define @__this 334
        #define Module: @334@
        
    #elseif @__this == 334
        #undef Module
        #undef @__this
        #define @__this 335
        #define Module: @335@
        
    #elseif @__this == 335
        #undef Module
        #undef @__this
        #define @__this 336
        #define Module: @336@
        
    #elseif @__this == 336
        #undef Module
        #undef @__this
        #define @__this 337
        #define Module: @337@
        
    #elseif @__this == 337
        #undef Module
        #undef @__this
        #define @__this 338
        #define Module: @338@
        
    #elseif @__this == 338
        #undef Module
        #undef @__this
        #define @__this 339
        #define Module: @339@
        
    #elseif @__this == 339
        #undef Module
        #undef @__this
        #define @__this 340
        #define Module: @340@
        
    #elseif @__this == 340
        #undef Module
        #undef @__this
        #define @__this 341
        #define Module: @341@
        
    #elseif @__this == 341
        #undef Module
        #undef @__this
        #define @__this 342
        #define Module: @342@
        
    #elseif @__this == 342
        #undef Module
        #undef @__this
        #define @__this 343
        #define Module: @343@
        
    #elseif @__this == 343
        #undef Module
        #undef @__this
        #define @__this 344
        #define Module: @344@
        
    #elseif @__this == 344
        #undef Module
        #undef @__this
        #define @__this 345
        #define Module: @345@
        
    #elseif @__this == 345
        #undef Module
        #undef @__this
        #define @__this 346
        #define Module: @346@
        
    #elseif @__this == 346
        #undef Module
        #undef @__this
        #define @__this 347
        #define Module: @347@
        
    #elseif @__this == 347
        #undef Module
        #undef @__this
        #define @__this 348
        #define Module: @348@
        
    #elseif @__this == 348
        #undef Module
        #undef @__this
        #define @__this 349
        #define Module: @349@
        
    #elseif @__this == 349
        #undef Module
        #undef @__this
        #define @__this 350
        #define Module: @350@
        
    #elseif @__this == 350
        #undef Module
        #undef @__this
        #define @__this 351
        #define Module: @351@
        
    #elseif @__this == 351
        #undef Module
        #undef @__this
        #define @__this 352
        #define Module: @352@
        
    #elseif @__this == 352
        #undef Module
        #undef @__this
        #define @__this 353
        #define Module: @353@
        
    #elseif @__this == 353
        #undef Module
        #undef @__this
        #define @__this 354
        #define Module: @354@
        
    #elseif @__this == 354
        #undef Module
        #undef @__this
        #define @__this 355
        #define Module: @355@
        
    #elseif @__this == 355
        #undef Module
        #undef @__this
        #define @__this 356
        #define Module: @356@
        
    #elseif @__this == 356
        #undef Module
        #undef @__this
        #define @__this 357
        #define Module: @357@
        
    #elseif @__this == 357
        #undef Module
        #undef @__this
        #define @__this 358
        #define Module: @358@
        
    #elseif @__this == 358
        #undef Module
        #undef @__this
        #define @__this 359
        #define Module: @359@
        
    #elseif @__this == 359
        #undef Module
        #undef @__this
        #define @__this 360
        #define Module: @360@
        
    #elseif @__this == 360
        #undef Module
        #undef @__this
        #define @__this 361
        #define Module: @361@
        
    #elseif @__this == 361
        #undef Module
        #undef @__this
        #define @__this 362
        #define Module: @362@
        
    #elseif @__this == 362
        #undef Module
        #undef @__this
        #define @__this 363
        #define Module: @363@
        
    #elseif @__this == 363
        #undef Module
        #undef @__this
        #define @__this 364
        #define Module: @364@
        
    #elseif @__this == 364
        #undef Module
        #undef @__this
        #define @__this 365
        #define Module: @365@
        
    #elseif @__this == 365
        #undef Module
        #undef @__this
        #define @__this 366
        #define Module: @366@
        
    #elseif @__this == 366
        #undef Module
        #undef @__this
        #define @__this 367
        #define Module: @367@
        
    #elseif @__this == 367
        #undef Module
        #undef @__this
        #define @__this 368
        #define Module: @368@
        
    #elseif @__this == 368
        #undef Module
        #undef @__this
        #define @__this 369
        #define Module: @369@
        
    #elseif @__this == 369
        #undef Module
        #undef @__this
        #define @__this 370
        #define Module: @370@
        
    #elseif @__this == 370
        #undef Module
        #undef @__this
        #define @__this 371
        #define Module: @371@
        
    #elseif @__this == 371
        #undef Module
        #undef @__this
        #define @__this 372
        #define Module: @372@
        
    #elseif @__this == 372
        #undef Module
        #undef @__this
        #define @__this 373
        #define Module: @373@
        
    #elseif @__this == 373
        #undef Module
        #undef @__this
        #define @__this 374
        #define Module: @374@
        
    #elseif @__this == 374
        #undef Module
        #undef @__this
        #define @__this 375
        #define Module: @375@
        
    #elseif @__this == 375
        #undef Module
        #undef @__this
        #define @__this 376
        #define Module: @376@
        
    #elseif @__this == 376
        #undef Module
        #undef @__this
        #define @__this 377
        #define Module: @377@
        
    #elseif @__this == 377
        #undef Module
        #undef @__this
        #define @__this 378
        #define Module: @378@
        
    #elseif @__this == 378
        #undef Module
        #undef @__this
        #define @__this 379
        #define Module: @379@
        
    #elseif @__this == 379
        #undef Module
        #undef @__this
        #define @__this 380
        #define Module: @380@
        
    #elseif @__this == 380
        #undef Module
        #undef @__this
        #define @__this 381
        #define Module: @381@
        
    #elseif @__this == 381
        #undef Module
        #undef @__this
        #define @__this 382
        #define Module: @382@
        
    #elseif @__this == 382
        #undef Module
        #undef @__this
        #define @__this 383
        #define Module: @383@
        
    #elseif @__this == 383
        #undef Module
        #undef @__this
        #define @__this 384
        #define Module: @384@
        
    #elseif @__this == 384
        #undef Module
        #undef @__this
        #define @__this 385
        #define Module: @385@
        
    #elseif @__this == 385
        #undef Module
        #undef @__this
        #define @__this 386
        #define Module: @386@
        
    #elseif @__this == 386
        #undef Module
        #undef @__this
        #define @__this 387
        #define Module: @387@
        
    #elseif @__this == 387
        #undef Module
        #undef @__this
        #define @__this 388
        #define Module: @388@
        
    #elseif @__this == 388
        #undef Module
        #undef @__this
        #define @__this 389
        #define Module: @389@
        
    #elseif @__this == 389
        #undef Module
        #undef @__this
        #define @__this 390
        #define Module: @390@
        
    #elseif @__this == 390
        #undef Module
        #undef @__this
        #define @__this 391
        #define Module: @391@
        
    #elseif @__this == 391
        #undef Module
        #undef @__this
        #define @__this 392
        #define Module: @392@
        
    #elseif @__this == 392
        #undef Module
        #undef @__this
        #define @__this 393
        #define Module: @393@
        
    #elseif @__this == 393
        #undef Module
        #undef @__this
        #define @__this 394
        #define Module: @394@
        
    #elseif @__this == 394
        #undef Module
        #undef @__this
        #define @__this 395
        #define Module: @395@
        
    #elseif @__this == 395
        #undef Module
        #undef @__this
        #define @__this 396
        #define Module: @396@
        
    #elseif @__this == 396
        #undef Module
        #undef @__this
        #define @__this 397
        #define Module: @397@
        
    #elseif @__this == 397
        #undef Module
        #undef @__this
        #define @__this 398
        #define Module: @398@
        
    #elseif @__this == 398
        #undef Module
        #undef @__this
        #define @__this 399
        #define Module: @399@
        
    #elseif @__this == 399
        #undef Module
        #undef @__this
        #define @__this 400
        #define Module: @400@
        
    #elseif @__this == 400
        #undef Module
        #undef @__this
        #define @__this 401
        #define Module: @401@
        
    #elseif @__this == 401
        #undef Module
        #undef @__this
        #define @__this 402
        #define Module: @402@
        
    #elseif @__this == 402
        #undef Module
        #undef @__this
        #define @__this 403
        #define Module: @403@
        
    #elseif @__this == 403
        #undef Module
        #undef @__this
        #define @__this 404
        #define Module: @404@
        
    #elseif @__this == 404
        #undef Module
        #undef @__this
        #define @__this 405
        #define Module: @405@
        
    #elseif @__this == 405
        #undef Module
        #undef @__this
        #define @__this 406
        #define Module: @406@
        
    #elseif @__this == 406
        #undef Module
        #undef @__this
        #define @__this 407
        #define Module: @407@
        
    #elseif @__this == 407
        #undef Module
        #undef @__this
        #define @__this 408
        #define Module: @408@
        
    #elseif @__this == 408
        #undef Module
        #undef @__this
        #define @__this 409
        #define Module: @409@
        
    #elseif @__this == 409
        #undef Module
        #undef @__this
        #define @__this 410
        #define Module: @410@
        
    #elseif @__this == 410
        #undef Module
        #undef @__this
        #define @__this 411
        #define Module: @411@
        
    #elseif @__this == 411
        #undef Module
        #undef @__this
        #define @__this 412
        #define Module: @412@
        
    #elseif @__this == 412
        #undef Module
        #undef @__this
        #define @__this 413
        #define Module: @413@
        
    #elseif @__this == 413
        #undef Module
        #undef @__this
        #define @__this 414
        #define Module: @414@
        
    #elseif @__this == 414
        #undef Module
        #undef @__this
        #define @__this 415
        #define Module: @415@
        
    #elseif @__this == 415
        #undef Module
        #undef @__this
        #define @__this 416
        #define Module: @416@
        
    #elseif @__this == 416
        #undef Module
        #undef @__this
        #define @__this 417
        #define Module: @417@
        
    #elseif @__this == 417
        #undef Module
        #undef @__this
        #define @__this 418
        #define Module: @418@
        
    #elseif @__this == 418
        #undef Module
        #undef @__this
        #define @__this 419
        #define Module: @419@
        
    #elseif @__this == 419
        #undef Module
        #undef @__this
        #define @__this 420
        #define Module: @420@
        
    #elseif @__this == 420
        #undef Module
        #undef @__this
        #define @__this 421
        #define Module: @421@
        
    #elseif @__this == 421
        #undef Module
        #undef @__this
        #define @__this 422
        #define Module: @422@
        
    #elseif @__this == 422
        #undef Module
        #undef @__this
        #define @__this 423
        #define Module: @423@
        
    #elseif @__this == 423
        #undef Module
        #undef @__this
        #define @__this 424
        #define Module: @424@
        
    #elseif @__this == 424
        #undef Module
        #undef @__this
        #define @__this 425
        #define Module: @425@
        
    #elseif @__this == 425
        #undef Module
        #undef @__this
        #define @__this 426
        #define Module: @426@
        
    #elseif @__this == 426
        #undef Module
        #undef @__this
        #define @__this 427
        #define Module: @427@
        
    #elseif @__this == 427
        #undef Module
        #undef @__this
        #define @__this 428
        #define Module: @428@
        
    #elseif @__this == 428
        #undef Module
        #undef @__this
        #define @__this 429
        #define Module: @429@
        
    #elseif @__this == 429
        #undef Module
        #undef @__this
        #define @__this 430
        #define Module: @430@
        
    #elseif @__this == 430
        #undef Module
        #undef @__this
        #define @__this 431
        #define Module: @431@
        
    #elseif @__this == 431
        #undef Module
        #undef @__this
        #define @__this 432
        #define Module: @432@
        
    #elseif @__this == 432
        #undef Module
        #undef @__this
        #define @__this 433
        #define Module: @433@
        
    #elseif @__this == 433
        #undef Module
        #undef @__this
        #define @__this 434
        #define Module: @434@
        
    #elseif @__this == 434
        #undef Module
        #undef @__this
        #define @__this 435
        #define Module: @435@
        
    #elseif @__this == 435
        #undef Module
        #undef @__this
        #define @__this 436
        #define Module: @436@
        
    #elseif @__this == 436
        #undef Module
        #undef @__this
        #define @__this 437
        #define Module: @437@
        
    #elseif @__this == 437
        #undef Module
        #undef @__this
        #define @__this 438
        #define Module: @438@
        
    #elseif @__this == 438
        #undef Module
        #undef @__this
        #define @__this 439
        #define Module: @439@
        
    #elseif @__this == 439
        #undef Module
        #undef @__this
        #define @__this 440
        #define Module: @440@
        
    #elseif @__this == 440
        #undef Module
        #undef @__this
        #define @__this 441
        #define Module: @441@
        
    #elseif @__this == 441
        #undef Module
        #undef @__this
        #define @__this 442
        #define Module: @442@
        
    #elseif @__this == 442
        #undef Module
        #undef @__this
        #define @__this 443
        #define Module: @443@
        
    #elseif @__this == 443
        #undef Module
        #undef @__this
        #define @__this 444
        #define Module: @444@
        
    #elseif @__this == 444
        #undef Module
        #undef @__this
        #define @__this 445
        #define Module: @445@
        
    #elseif @__this == 445
        #undef Module
        #undef @__this
        #define @__this 446
        #define Module: @446@
        
    #elseif @__this == 446
        #undef Module
        #undef @__this
        #define @__this 447
        #define Module: @447@
        
    #elseif @__this == 447
        #undef Module
        #undef @__this
        #define @__this 448
        #define Module: @448@
        
    #elseif @__this == 448
        #undef Module
        #undef @__this
        #define @__this 449
        #define Module: @449@
        
    #elseif @__this == 449
        #undef Module
        #undef @__this
        #define @__this 450
        #define Module: @450@
        
    #elseif @__this == 450
        #undef Module
        #undef @__this
        #define @__this 451
        #define Module: @451@
        
    #elseif @__this == 451
        #undef Module
        #undef @__this
        #define @__this 452
        #define Module: @452@
        
    #elseif @__this == 452
        #undef Module
        #undef @__this
        #define @__this 453
        #define Module: @453@
        
    #elseif @__this == 453
        #undef Module
        #undef @__this
        #define @__this 454
        #define Module: @454@
        
    #elseif @__this == 454
        #undef Module
        #undef @__this
        #define @__this 455
        #define Module: @455@
        
    #elseif @__this == 455
        #undef Module
        #undef @__this
        #define @__this 456
        #define Module: @456@
        
    #elseif @__this == 456
        #undef Module
        #undef @__this
        #define @__this 457
        #define Module: @457@
        
    #elseif @__this == 457
        #undef Module
        #undef @__this
        #define @__this 458
        #define Module: @458@
        
    #elseif @__this == 458
        #undef Module
        #undef @__this
        #define @__this 459
        #define Module: @459@
        
    #elseif @__this == 459
        #undef Module
        #undef @__this
        #define @__this 460
        #define Module: @460@
        
    #elseif @__this == 460
        #undef Module
        #undef @__this
        #define @__this 461
        #define Module: @461@
        
    #elseif @__this == 461
        #undef Module
        #undef @__this
        #define @__this 462
        #define Module: @462@
        
    #elseif @__this == 462
        #undef Module
        #undef @__this
        #define @__this 463
        #define Module: @463@
        
    #elseif @__this == 463
        #undef Module
        #undef @__this
        #define @__this 464
        #define Module: @464@
        
    #elseif @__this == 464
        #undef Module
        #undef @__this
        #define @__this 465
        #define Module: @465@
        
    #elseif @__this == 465
        #undef Module
        #undef @__this
        #define @__this 466
        #define Module: @466@
        
    #elseif @__this == 466
        #undef Module
        #undef @__this
        #define @__this 467
        #define Module: @467@
        
    #elseif @__this == 467
        #undef Module
        #undef @__this
        #define @__this 468
        #define Module: @468@
        
    #elseif @__this == 468
        #undef Module
        #undef @__this
        #define @__this 469
        #define Module: @469@
        
    #elseif @__this == 469
        #undef Module
        #undef @__this
        #define @__this 470
        #define Module: @470@
        
    #elseif @__this == 470
        #undef Module
        #undef @__this
        #define @__this 471
        #define Module: @471@
        
    #elseif @__this == 471
        #undef Module
        #undef @__this
        #define @__this 472
        #define Module: @472@
        
    #elseif @__this == 472
        #undef Module
        #undef @__this
        #define @__this 473
        #define Module: @473@
        
    #elseif @__this == 473
        #undef Module
        #undef @__this
        #define @__this 474
        #define Module: @474@
        
    #elseif @__this == 474
        #undef Module
        #undef @__this
        #define @__this 475
        #define Module: @475@
        
    #elseif @__this == 475
        #undef Module
        #undef @__this
        #define @__this 476
        #define Module: @476@
        
    #elseif @__this == 476
        #undef Module
        #undef @__this
        #define @__this 477
        #define Module: @477@
        
    #elseif @__this == 477
        #undef Module
        #undef @__this
        #define @__this 478
        #define Module: @478@
        
    #elseif @__this == 478
        #undef Module
        #undef @__this
        #define @__this 479
        #define Module: @479@
        
    #elseif @__this == 479
        #undef Module
        #undef @__this
        #define @__this 480
        #define Module: @480@
        
    #elseif @__this == 480
        #undef Module
        #undef @__this
        #define @__this 481
        #define Module: @481@
        
    #elseif @__this == 481
        #undef Module
        #undef @__this
        #define @__this 482
        #define Module: @482@
        
    #elseif @__this == 482
        #undef Module
        #undef @__this
        #define @__this 483
        #define Module: @483@
        
    #elseif @__this == 483
        #undef Module
        #undef @__this
        #define @__this 484
        #define Module: @484@
        
    #elseif @__this == 484
        #undef Module
        #undef @__this
        #define @__this 485
        #define Module: @485@
        
    #elseif @__this == 485
        #undef Module
        #undef @__this
        #define @__this 486
        #define Module: @486@
        
    #elseif @__this == 486
        #undef Module
        #undef @__this
        #define @__this 487
        #define Module: @487@
        
    #elseif @__this == 487
        #undef Module
        #undef @__this
        #define @__this 488
        #define Module: @488@
        
    #elseif @__this == 488
        #undef Module
        #undef @__this
        #define @__this 489
        #define Module: @489@
        
    #elseif @__this == 489
        #undef Module
        #undef @__this
        #define @__this 490
        #define Module: @490@
        
    #elseif @__this == 490
        #undef Module
        #undef @__this
        #define @__this 491
        #define Module: @491@
        
    #elseif @__this == 491
        #undef Module
        #undef @__this
        #define @__this 492
        #define Module: @492@
        
    #else
        #error Out of Module: bounds!
    #endif
#endif
// Forward our basics!
forward Module:Load(); 

modules.pwn
(allows you to register and invoke other modules)
PHP Code:
#include <a_samp>
#include <amx_assembly\amx_header>
#include <amx_assembly\dynamic_call>
#include <amx_assembly\stack_trace>
#include <metarpg\module>
#include <metarpg\util>
enum E_MODULE
{
    
Module_Name[64],
    
Module_Description[128],
    
Module_Author[64],
    
Module_Version[32],
    
Module_Internal_Token[8]
};
stock g_Modules[64][E_MODULE];
stock g_Modules_Count 0;
#if !defined META_STANDALONE 
public OnFilterScriptInit()
    
Module_Initialize();
#endif
// This little trick lets us pass the module internal token when we register ourselves.
// Trick intellisense into including the parameters in its definition!
#if false 
    
native Module_Register(ModuleName[], ModuleAuthor[], ModuleVersion[], ModuleDescription[]); 
#endif
#define Module_Register(%1) _Module_Register(%1, .ModuleInternalToken = #Module:)
stock _Module_Register(ModuleName[64], ModuleAuthor[64]=""ModuleVersion[32]=""ModuleDescription[128]=""ModuleInternalToken[8])
{
    
set(g_Modules[g_Modules_Count][Module_Name], ModuleName64);
    
set(g_Modules[g_Modules_Count][Module_Author], ModuleAuthor64);
    
set(g_Modules[g_Modules_Count][Module_Version], ModuleVersion32);
    
set(g_Modules[g_Modules_Count][Module_Description], ModuleDescription128);
    
set(g_Modules[g_Modules_Count][Module_Internal_Token], ModuleInternalToken8);
    
    
g_Modules_Count++;
    
    return 
g_Modules_Count-1;
}
// Let's register ourself as a module!
public Module:Load()
    
Module_Register("Core - Modules""Alcatrik""2.0.0""Provides the infrastructure to allow for modularity throughout the gamemode.");
// Load all functions that end in @Load!
stock Module_Initialize()
{    
    new 
amxhdr[AMX_HDR];
    
GetAmxHeader(amxhdr);
    new 
pubs GetNumPublics(amxhdr);
    
    new 
count;
    
    for(new 
ipubsi++)
    {
        static 
name[128];
        
GetPublicNameFromIndex(iname128);
        new 
idx strlen(name)-strlen("@Load");
        
        if(
idx 0)
            continue;
        
        if(!
strcmp(name[idx], "@Load"))
        {
            
            
CallFunction(GetPublicAddressFromIndex(i));
            
            new 
this_module[128], this_module_idx;
            
strmid(this_modulename0idx+1);
            
this_module_idx Module_FindByToken(this_module);
            
            if(!
isnull(g_Modules[this_module_idx][Module_Name]))
                
printf("    -> %s initialised..."g_Modules[this_module_idx][Module_Name]);
            
            
count++;
        }
    }
    return 
count;
}
stock Module_GetName(Module)
{
    return 
g_Modules[Module][Module_Name];
}
stock Module_GetDescription(Module)
    return 
g_Modules[Module][Module_Description];
stock Module_GetAuthor(Module)
    return 
g_Modules[Module][Module_Author];
stock Module_GetVersion(Module)
    return 
g_Modules[Module][Module_Version];
stock Module_GetInternalToken(Module)
    return 
g_Modules[Module][Module_Internal_Token];
stock Module_GetFunction(ModuleFunc[])
{
    new 
tmp[128];
    
format(tmp128"%s%s"g_Modules[Module][Module_Internal_Token], Func)
    return 
GetPublicAddressFromName(tmp);
}
stock Module_FindByName(name[])
{
    for(new 
isizeof(g_Modules); i++)
    {
        if(
equal(g_Modules[i][Module_Name], name))
            return 
i;
    }
    return -
1;
}
stock Module_FindByToken(token[])
{
    for(new 
isizeof(g_Modules); i++)
    {
        if(
equal(g_Modules[i][Module_Internal_Token], token))
            return 
i;
    }
    return -
1;
}
stock Module_GetCount()
    return 
g_Modules_Count
events.pwn
(for dynamic event hooking)

PHP Code:
#include <a_samp>
#include <amx_assembly\amx_header>
#include <amx_assembly\dynamic_call>
#include <metarpg\module>
#include <metarpg\util>
enum 
{
    
Event_Hash,
    
Event_Address,
    
Event_Module
}
stock g_EventDictionary[4096][3];
stock g_EventCount 0;
stock g_EventHash;
stock g_EventCancelled 0;
// Given I can't put comments in the macro, and given there's a couple of counter intuitive things in this macro,
// I'll document the weirder things here:
// 1. The ;; - Pawn strips off the last ; in defines, so what this should actually be read as is Event_Call(%0);. This will
// cause an "Undefined symbol: Event_Call" error where people forget their semicolons but I can live with that given you are
// meant to terminate lines with semicolons with Pawn and anyone who doesn't is a heathen dog botherer.
// 2. YHash_Once - a little smart trick I came up with. It effectively caches the hash - meaing that it is only ran once. This
// does on the other hand mean that I need a separate function for if anyone ever wants to call an event dynamically (ie. with
// a generated event name rather than just a static OnPlayerUpdate or whatever). End result of this is that after the first event
// is ran, thereon event calls are as fast as FastCall was in previous versions of events.pwn.
#define Event_Call(%0);; \
{ \
    static 
hash; \
    static 
cancelled 0; \
    \
    
hash YHash_Once(hash, %0); \
    \
    
g_EventHash hash; \
    
g_EventCancelled cancelled; \
    \
    for(new 
__e__e g_EventCount__e++) \
    { \
        if(
g_EventDictionary[__e][Event_Hash] != hash) \
            continue; \
        \
        
CallFunction(g_EventDictionary[__e][Event_Address]); \
    } \
}
#define Event_CallEx(%0,%1);; \
{ \
    static 
hash; \
    static 
cancelled 0; \
    \
    
hash YHash_Once(hash, %0); \
    \
    
g_EventHash hash; \
    
g_EventCancelled cancelled; \
    \
    for(new 
__e__e g_EventCount__e++) \
    { \
        if(
g_EventDictionary[__e][Event_Hash] != hash) \
            continue; \
        \
        
CallFunction(g_EventDictionary[__e][Event_Address], %1); \
    } \
}
    
public 
Module:Load()
{
    
Module_Register("Core - Events""Alcatrik""4.0.0""Facilitates internally hooking multiple functions from a variety of modules to events within PAWN.");
    
// Search for shortcuts!
    
new amxhdr[AMX_HDR];
    
GetAmxHeader(amxhdr);
    new 
pubs GetNumPublics(amxhdr);
    
    for(new 
ipubsi++)
    {
        static 
name[128];
        
GetPublicNameFromIndex(iname128);
        
        new 
idx chrfindrev('@'name);
        if(
idx == -|| !beginsWith(name[idx+1], "e_"))
            continue;
        
        new 
module[8];
        
strmid(modulename0idx+1);
        
_Event_Hook(name[idx+3], name_module);
    }
}
#define Event_Hook(%0) _Event_Hook(%0, ._caller =#Module:)
stock _Event_Hook(EventName[], Callback[], afterModule[]=""_caller[])
{
    
assert(g_EventCount sizeof(g_EventDictionary));
    if(
funcidx(Callback) == -1)
        return 
false;
    
    new 
idx g_EventCounthash YHash(EventName);
    if(!
isnull(afterModule))
    {
        new 
target Module_FindByName(afterModule);
        for(new 
g_EventCount>= 0i--)
        {
            if(
g_EventDictionary[i][Event_Hash] == hash && g_EventDictionary[i][Event_Module] == target)
            {
                
idx i+1;
                break;
            }
        }
    }
    
    new 
data[3];
    
data[0] = hash;
    
data[1] = GetPublicAddressFromName(Callback); 
    
data[2] = Module_FindByToken(_caller);
    
array_insert_arr(g_EventDictionaryidxdata);
    
g_EventCount++;
    
    return 
true;
}
stock YHash_Once(var, str[], {_Float}:...)
{
    if(!var)
        return 
YHash(str);
    else
        return var;
}
stock Event_Cancel()
{
    
g_EventCancelled true;
    return 
1;
}
stock bool:Event_WasCancelled()
    return 
bool:g_EventCancelled;
    
// SA-MP callbacks
    
public OnPlayerConnect(playerid)
{
    
Event_CallEx("OnPlayerConnect"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerDisconnect(playeridreason)
{
    
Event_CallEx("OnPlayerDisconnect"playeridreason);
    return !
Event_WasCancelled();
}
public 
OnPlayerSpawn(playerid)
{
    
Event_CallEx("OnPlayerSpawn"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    
Event_CallEx("OnPlayerDeath"playeridkilleridreason);
    return !
Event_WasCancelled();
}
public 
OnVehicleSpawn(vehicleid)
{
    
Event_CallEx("OnVehicleSpawn"vehicleid);
    return !
Event_WasCancelled();
}
public 
OnVehicleDeath(vehicleidkillerid)
{
    
Event_CallEx("OnVehicleDeath"vehicleidkillerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerText(playeridtext[])
{
    
Event_CallEx("OnPlayerText"playeridref(text));
    return !
Event_WasCancelled();
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    
Event_CallEx("OnPlayerCommandText"playeridref(cmdtext));
    return 
Event_WasCancelled();
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
Event_CallEx("OnPlayerRequestClass"playeridclassid);
    return !
Event_WasCancelled();
}
public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    
Event_CallEx("OnPlayerEnterVehicle"playeridvehicleidispassenger);
    return !
Event_WasCancelled();
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    
Event_CallEx("OnPlayerExitVehicle"playeridvehicleid);
    return !
Event_WasCancelled();
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    
Event_CallEx("OnPlayerStateChange"playeridnewstateoldstate);
    return !
Event_WasCancelled();
}
public 
OnPlayerEnterCheckpoint(playerid)
{
    
Event_CallEx("OnPlayerEnterCheckpoint"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerLeaveCheckpoint(playerid)
{
    
Event_CallEx("OnPlayerLeaveCheckpoint"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    
Event_CallEx("OnPlayerEnterRaceCheckpoint"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    
Event_CallEx("OnPlayerLeaveRaceCheckpoint"playerid);
    return !
Event_WasCancelled();
}
public 
OnRconCommand(cmd[])
{
    
Event_CallEx("OnRconCommand"ref(cmd));
    return 
Event_WasCancelled();
}
public 
OnPlayerRequestSpawn(playerid)
{
    
Event_CallEx("OnPlayerRequestSpawn"playerid);
    return !
Event_WasCancelled();
}
public 
OnObjectMoved(objectid)
{
    
Event_CallEx("OnObjectMoved"objectid);
    return !
Event_WasCancelled();
}
public 
OnPlayerObjectMoved(playeridobjectid)
{
    
Event_CallEx("OnPlayerObjectMoved"playeridobjectid);
    return !
Event_WasCancelled();
}
public 
OnPlayerPickUpPickup(playeridpickupid)
{
    
Event_CallEx("OnPlayerPickUpPickup"playeridpickupid);
    return !
Event_WasCancelled();
}
public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    
Event_CallEx("OnVehicleMod"playeridvehicleidcomponentid);
    return !
Event_WasCancelled();
}
public 
OnEnterExitModShop(playeridenterexitinteriorid)
{
    
Event_CallEx("OnEnterExitModShop"playeridenterexitinteriorid);
    return !
Event_WasCancelled();
}
public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    
Event_CallEx("OnVehiclePaintjob"playeridvehicleidpaintjobid);
    return !
Event_WasCancelled();
}
public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    
Event_CallEx("OnVehicleRespray"playeridvehicleidcolor1color2);
    return !
Event_WasCancelled();
}
public 
OnVehicleDamageStatusUpdate(vehicleidplayerid)
{
    
Event_CallEx("OnVehicleDamageStatusUpdate"vehicleidplayerid);
    return !
Event_WasCancelled();
}
public 
OnUnoccupiedVehicleUpdate(vehicleidplayeridpassenger_seatFloat:new_xFloat:new_yFloat:new_z)
{
    
Event_CallEx("OnUnoccupiedVehicleUpdate"vehicleidplayeridpassenger_seatFloat:new_xFloat:new_yFloat:new_z);
    return !
Event_WasCancelled();
}
public 
OnPlayerSelectedMenuRow(playeridrow)
{
    
Event_CallEx("OnPlayerSelectedMenuRow"playeridrow);
    return !
Event_WasCancelled();
}
public 
OnPlayerExitedMenu(playerid)
{
    
Event_CallEx("OnPlayerExitedMenu"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    
Event_CallEx("OnPlayerInteriorChange"playeridnewinterioridoldinteriorid);
    return !
Event_WasCancelled();
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    
Event_CallEx("OnPlayerKeyStateChange"playeridnewkeysoldkeys);
    return !
Event_WasCancelled();
}
public 
OnRconLoginAttempt(ip[], password[], success)
{
    
Event_CallEx("OnRconLoginAttempt"ref(ip), ref(password), success);
    return !
Event_WasCancelled();
}
public 
OnPlayerUpdate(playerid)
{
    
Event_CallEx("OnPlayerUpdate"playerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerStreamIn(playeridforplayerid)
{
    
Event_CallEx("OnPlayerStreamIn"playeridforplayerid);
    return !
Event_WasCancelled();
}
public 
OnPlayerStreamOut(playeridforplayerid)
{
    
Event_CallEx("OnPlayerStreamOut"playeridforplayerid);
    return !
Event_WasCancelled();
}
public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    
Event_CallEx("OnVehicleStreamIn"vehicleidforplayerid);
    return !
Event_WasCancelled();
}
public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    
Event_CallEx("OnVehicleStreamOut"vehicleidforplayerid);
    return !
Event_WasCancelled();
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
Event_CallEx("OnDialogResponse"playeriddialogidresponselistitemref(inputtext));
    return !
Event_WasCancelled();
}
public 
OnPlayerTakeDamage(playeridissueridFloat:amountweaponidbodypart)
{
    
Event_CallEx("OnPlayerTakeDamage"playeridissueridamountweaponidbodypart);
    return !
Event_WasCancelled();
}
public 
OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponidbodypart)
{
    
Event_CallEx("OnPlayerGiveDamage"playeriddamagedidamountweaponidbodypart);
    return !
Event_WasCancelled();
}
public 
OnPlayerClickMap(playeridFloat:fXFloat:fYFloat:fZ)
{
    
Event_CallEx("OnPlayerClickMap"playeridfXfYfZ);
    return !
Event_WasCancelled();
}
public 
OnPlayerClickTextDraw(playeridText:clickedid)
{
    
Event_CallEx("OnPlayerClickTextDraw"playerid_:clickedid);
    return !
Event_WasCancelled();
}
public 
OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid)
{
    new 
wasCancelled;
    
Event_CallEx("OnPlayerClickPlayerTextDraw"playerid_:playertextid);
    
wasCancelled Event_WasCancelled()
    
Event_CallEx("OnPlayerClickPlayerTD"playerid_:playertextid);
    
    return !
wasCancelled && !Event_WasCancelled();
}
public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    
Event_CallEx("OnPlayerClickPlayer"playeridclickedplayeridsource);
    return !
Event_WasCancelled();
}
public 
OnPlayerSelectObject(playeridtypeobjectidmodelidFloat:fXFloat:fYFloat:fZ)
{
    
Event_CallEx("OnPlayerSelectObject"playeridtypeobjectidmodelidfXfYfZ);
    return !
Event_WasCancelled();
}
public 
OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
{
    
Event_CallEx("OnPlayerWeaponShot"playeridweaponidhittypehitidfXfYfZ);
    return !
Event_WasCancelled();
}
public 
OnGameModeExit()
{
    
Event_Call("OnScriptExit");
    return !
Event_WasCancelled();
}
public 
OnFilterScriptExit()
{
    
Event_Call("OnScriptExit");
    return !
Event_WasCancelled();

example:
PHP Code:
#include <a_samp>
#include <a_mysql>
#include <amx_assembly\amx_header>
#include <amx_assembly\dynamic_call>
#include <metarpg\module>
#include <metarpg\util>
forward Module:e_OnPlayerConnect(playerid);
forward Module:delegate_OnPlayerConnect(playerid);
forward Module:e_OnPlayerRequestClass(playeridclassid);
new 
g_PlayerAccount[MAX_PLAYERS][E_ACCOUNT];
static 
vw_Account_Login = -1;
public 
Module:e_OnPlayerConnect(playerid)
{
    
SetTimerEx(#Module:"delegate_OnPlayerConnect", 500, 0, "i", playerid);
}
public 
Module:delegate_OnPlayerConnect(playerid)
{
    if(
vw_Account_Login == -1)
        
vw_Account_Login Module_FindByName("vw_Account_Login");
    
    new 
Module_GetFunction(vw_Account_Login"Draw");
    
CallFunction(fplayerid);
}
stock LoadPlayerAccount(playerid)
{
    
Account_Load(g_PlayerAccount[playerid]);
    
Event_CallEx("OnPlayerLogin"playerid);
}
stock IsPlayerLoggedIn(playerid)
{
    return !
isnull(g_PlayerAccount[playerid][Account_Name]);
}
stock ORM:GetPlayerAccountOrm(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Orm];
}
stock GetPlayerAccountId(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Id];
}
stock GetPlayerAccountName(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Name];
}
stock GetPlayerAccountEmail(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Email];
}
stock GetPlayerAccountLastLogin(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Time_LastLogin];
}
stock GetPlayerAccountCreated(playerid)
{
    return 
g_PlayerAccount[playerid][Account_Time_Created];
}
// Remove spawn button
public Module:e_OnPlayerRequestClass(playeridclassid)
    return 
0
Reply


Messages In This Thread
Modular Programming - by PatrickGTR - 29.12.2015, 20:23
Re: Modular Programming - by CrazyChoco - 29.12.2015, 20:27
Re: Modular Programming - by Sasino97 - 29.12.2015, 21:03
Re: Modular Programming - by Pottus - 29.12.2015, 21:17
Re: Modular Programming - by Dayvison_ - 29.12.2015, 21:28
Re: Modular Programming - by VincenzoDrift - 30.12.2015, 09:13
Re: Modular Programming - by PatrickGTR - 30.12.2015, 13:15
Re: Modular Programming - by [XST]O_x - 30.12.2015, 13:22
Re: Modular Programming - by PrO.GameR - 30.12.2015, 13:32
Re: Modular Programming - by PatrickGTR - 30.12.2015, 14:47
Re: Modular Programming - by AndySedeyn - 01.01.2016, 03:14
Re: Modular Programming - by PatrickGTR - 01.01.2016, 17:54
Re: Modular Programming - by AndySedeyn - 01.01.2016, 18:05
Re: Modular Programming - by PatrickGTR - 01.01.2016, 18:21
Re: Modular Programming - by AndySedeyn - 01.01.2016, 18:26
Re: Modular Programming - by Kimble - 06.09.2016, 20:41
Re: Modular Programming - by PrO.GameR - 06.09.2016, 21:51
Re: Modular Programming - by SickAttack - 06.09.2016, 21:52
Re: Modular Programming - by K0P - 07.09.2016, 16:55
Re: Modular Programming - by Misiur - 07.09.2016, 17:17
Re: Modular Programming - by Crayder - 07.09.2016, 17:48
Re: Modular Programming - by OneDay - 07.09.2016, 19:12
Re: Modular Programming - by AndySedeyn - 07.09.2016, 19:37
Re: Modular Programming - by TakeiT - 22.09.2016, 22:30
Re: Modular Programming - by Alcatrik - 03.10.2016, 14:50
Re: Modular Programming - by SickAttack - 03.10.2016, 17:20
Re: Modular Programming - by Crayder - 03.10.2016, 18:00
Re: Modular Programming - by SickAttack - 03.10.2016, 22:24
Re: Modular Programming - by theralio - 11.01.2019, 08:12
Re: Modular Programming - by GRiMMREAPER - 13.01.2019, 14:41
Re: Modular Programming - by RogueDrifter - 21.01.2019, 18:42
Re: Modular Programming - by Calisthenics - 21.01.2019, 18:56
Re: Modular Programming - by Logic_ - 23.01.2019, 07:05

Forum Jump:


Users browsing this thread: 2 Guest(s)