forked from Johnson336/LotJPlugins
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReconnecter.xml
More file actions
222 lines (165 loc) · 4.06 KB
/
Reconnecter.xml
File metadata and controls
222 lines (165 loc) · 4.06 KB
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<?xml Version="1.0" encoding="UTF-8"?>
<!DOCTYPE muclient [
<!ENTITY interval "45" >
<!ENTITY quit_command "quit" >
<!ENTITY Connect_command "connect" >
<!ENTITY noconnect_command "NOCONNECT" >
]>
<!-- Plugin "Reconnecter" generated by Plugin Wizard -->
<!--
1. Change the entity above "interval" to be the number of seconds
between retries.
2. Change the entity above "quit_command" to be the command you
type to quit (eg. quit, QUIT, @quit or whatever)
3. Change the entity above "Connect_command" to be the command you
type to enable connection checking.
4. Change the entity above "noconnect_command" to be the command you
type to disable connection checking.
-->
<muclient>
<plugin
name="Reconnecter"
author="Nick Gammon"
id="dc8cb4a314674db813c12c90"
language="Lua"
purpose="Reconnects when disconnected"
date_written="2007-12-12 11:30:00"
requires="3.80"
version="2.0"
>
<description Trim="y">
<![CDATA[
This plugin will automatically reconnect you when you are disconnected, at a user-configurable interval (say, every 5 seconds)
]]>
Reconnecter:Help - this Help screen
&Connect_command; - enable recconnection (eg. after using &noconnect_command;)
&noconnect_command; - disable reconnection (eg. if you are leaving the PC)
</description>
</plugin>
<!-- Timers -->
<timers>
<timer name="ConnectCheckTimer"
script="OnConnectCheckTimer"
second="&interval;"
active_closed="y"
enabled="y">
</timer>
</timers>
<!-- Aliases -->
<aliases>
<alias
script="OnQuit"
match="&quit_command;"
enabled="y"
>
</alias>
<alias
script="OnConnect"
match="&Connect_command;"
enabled="y"
>
</alias>
<alias
script="OnNoConnect"
match="&noconnect_command;"
enabled="y"
>
</alias>
</aliases>
<!-- Script -->
<script>
<![CDATA[
local retry, did_quit
retry = 0 -- retry count
did_quit = false
function OnConnectCheckTimer (sName)
--
-- If currently connecting, leave it to do that ...
--
if GetInfo (107) then
return
end -- if
--
-- If currently connected, we don't need to check any more
--
if IsConnected () then
Note "World is connected, disabling disconnection check"
EnableTimer (sName, false)
return
end -- if
--
-- If deliberate quit, we don't need to check any more
--
if did_quit then
Note "Deliberate quit, disabling disconnection check"
EnableTimer (sName, false)
return
end -- if
--
-- OK, we need to Connect now ...
--
retry = retry + 1
Note ("Connecting to world, attempt # " .. retry)
Connect ()
end -- function
function OnPluginDisconnect ()
--
-- If deliberate quit, we don't need to enable the connection check
--
if did_quit then
return
end -- if
--
-- We have been disconnected, we need to try connecting again
--
Note "Connection checker enabled"
EnableTimer ("ConnectCheckTimer", true)
end -- function
function OnPluginConnect ()
--
-- Now we are connected, no need to keep trying to Connect
--
retry = 0
EnableTimer ("ConnectCheckTimer", false)
--
-- No deliberate quit yet
--
did_quit = false
end -- function
function OnPluginInstall ()
DoAfterNote (1, "Connection checker installed.")
end -- function
]]>
function OnQuit (sName, sLine, wildcards)
did_quit = true
Send ("&quit_command;") -- Send to world so it does it
Note "Deliberate quit (&quit_command;), reconnect disabled"
end -- function
function OnConnect (sName, sLine, wildcards)
Note "Connection checker enabled"
EnableTimer ("ConnectCheckTimer", true)
did_quit = false
end -- function
function OnNoConnect (sName, sLine, wildcards)
Note "Connection checker disabled"
EnableTimer ("ConnectCheckTimer", false)
did_quit = true
end -- function
</script>
<!-- Plugin Help -->
<aliases>
<alias
script="OnHelp"
match="Reconnecter:Help"
enabled="y"
>
</alias>
</aliases>
<script>
<![CDATA[
function OnHelp (sName, sLine, wildcards)
Note (GetPluginInfo (GetPluginID, 3))
end -- function
]]>
</script>
</muclient>