Sockets 在mIRC中进一步执行之前添加暂停
所以我已经思考了一个多小时,但没有对这个脚本得出任何结论。我基本上是想通过mIRC套接字为3台IRC服务器添加一个“状态检查”。我面临的问题是,在套接字连接未完成的情况下,执行会跳到下一步,因此它会返回一个假值,即脱机 我尝试在goto命令之前使用计时器,但返回“未找到” 代码:Sockets 在mIRC中进一步执行之前添加暂停,sockets,irc,mirc,Sockets,Irc,Mirc,所以我已经思考了一个多小时,但没有对这个脚本得出任何结论。我基本上是想通过mIRC套接字为3台IRC服务器添加一个“状态检查”。我面临的问题是,在套接字连接未完成的情况下,执行会跳到下一步,因此它会返回一个假值,即脱机 我尝试在goto命令之前使用计时器,但返回“未找到” 代码: on *:text:!stats:#: { sockopen IRCAurora aurora.irchound.tk 6667 sockopen IRCKepler kepler.irchound.tk 66
on *:text:!stats:#: {
sockopen IRCAurora aurora.irchound.tk 6667
sockopen IRCKepler kepler.irchound.tk 6667
sockopen IRCJupiter jupiter.irchound.tk 6667
sockpause IRCAurora
sockpause IRCKepler
sockpause IRCJupiter
:true
msg $chan ----STATUS----
goto check1
halt
:check1
if ($sock(IRCAurora,pause) == 1) {
msg $chan 1Aurora - 9Online
}
else {
msg $chan 1Aurora - 4Offline
}
goto check2
halt
:check2
if ($sock(IRCJupiter,pause) == 1) {
msg $chan 1Jupiter - 9Online
}
else {
msg $chan 1Jupiter - 4Offline
}
goto check3
halt
:check3
if ($sock(IRCKepler,pause) == 1) {
msg $chan 1Kepler - 9Online
}
else {
msg $chan 1Kepler - 4Offline
}
halt
}
我知道一个解决方案是简单地设置一个php机器人,但我希望它在mIRC上
任何帮助都将不胜感激。提前谢谢。没关系。。我已经找到了解决这个问题的办法。需要添加一个带有计时器的别名函数(如果为真/假,则在套接字暂停时进行响应) 已解决代码:
on *:text,loaddservers:#: {
if (%admin. [ $+ [ $nick ] ] = 1) {
msg $chan All default servers are now being loaded.
set %server1 aurora.irchound.tk
set %server2 jupiter.irchound.tk
set %server3 kepler.irchound.tk
}
else {
msg $chan Access denied.
}
}
;Create socket connection to servers on trigure.
on *:text:,status*:#: {
if ($2 = all) {
sockopen IRCAurora %server1 6667
sockopen IRCKepler %server2 6667
sockopen IRCJupiter %server3 6667
set %chan $chan
msg $chan Connecting to servers...
msg $chan >>>Status of all servers<<<
timer2 1 5 checkall
}
if ($2 = aurora) {
sockopen IRCAurora %server1 6667
set %chan $chan
msg $chan Connecting to server $2 $+ ...
timerAURORA 1 5 checkaurora
}
if ($2 = kepler) {
sockopen IRCKepler %server2 6667
set %chan $chan
msg $chan Connecting to server $2 $+ ...
timerKEPLER 1 5 checkkepler
}
if ($2 = jupiter) {
sockopen IRCJupiter %server3 6667
set %chan $chan
msg $chan Connecting to server $2 $+ ...
timerJUPITER 1 5 checkjupiter
}
}
;Aliases for each server status response.
alias checkaurora {
if ($sock(IRCAurora,pause) == 1) {
msg %chan 1Aurora - 9Online
}
else {
msg %chan 1Aurora - 4Offline
}
halt
}
alias checkjupiter {
if ($sock(IRCJupiter,pause) == 1) {
msg %chan 1Jupiter - 9Online
}
else {
msg %chan 1Jupiter - 4Offline
}
halt
}
alias checkkepler {
if ($sock(IRCKepler,pause) == 1) {
msg %chan 1Kepler - 9Online
}
else {
msg %chan 1Kepler- 4Offline
}
halt
}
alias checkall {
if ($sock(IRCAurora,pause) == 1) {
msg %chan 1Aurora - 9Online
}
else {
msg %chan 1Aurora - 4Offline
}
goto check2
halt
:check2
if ($sock(IRCJupiter,pause) == 1) {
msg %chan 1Jupiter - 9Online
}
else {
msg %chan 1Jupiter - 4Offline
}
goto check3
halt
:check3
if ($sock(IRCKepler,pause) == 1) {
msg %chan 1Kepler - 9Online
}
else {
msg %chan 1Kepler - 4Offline
}
}
on*:文本,加载服务器:#{
如果(%admin.[$+[$nick]]=1){
msg$chan现在正在加载所有默认服务器。
设置%server1 aurora.irchound.tk
设置%server2 jupiter.irchound.tk
设置%server3开普勒.irchound.tk
}
否则{
msg$chan访问被拒绝。
}
}
;在trigure上创建到服务器的套接字连接。
在*:文本:,状态*:#:{
如果($2=全部){
sockopen IRCAurora%server1 6667
sockopen IRCKepler%server2 6667
sockopen%server3 6667
设置%chan$chan
msg$chan正在连接到服务器。。。
msg$chan>>>所有服务器的状态