Guest
Nov 22, 2008, 3:41 am UTCHome arrow Examples arrow Online Detection System
header image
Online Detection System
Written by Dreamless Dancer   
Aug 16, 2008 at 11:40 AM
Name: Online Tick
 When 3 seconds has passed
    No Additional Conditions.
 THEN:
 $ Wolfscript
 // trigger online check
 &setvar onlinecheck FALSE
 &newvar #which &getvar(onlineindex)
 &dbopen 1 {select * from members}
 &dbmovefirst 1
 &newvar #count &dbrecordcount(1)
 &ifn #count > 0
   &dbmovelast 1
   &dbmovefirst 1
   &set #count &dbrecordcount(1)
   &ifn #which >= #count
     &set #which 0
     &setvar onlineindex #which
     &newvar #rollover {Online Check Rollover: }
     &join #rollover &time()
     &setvar onlineroll #rollover
     &display #rollover
   &endif
   &dbmoveto 1 #which
   &newvar #check &dbf(1 member)
   &ifs #check = MEMBER
     &set #check TRUE
   &endif
   &ifs #check = PENDING
     &set #check TRUE
   &endif
   &ifs #check = APPRENTICE
     &set #check TRUE
   &endif
   &ifs #check <> TRUE
     &add #which 1
     &setvar onlineindex #which
     &setvar onlinecheck TRUE
     &exitwolf
   &endif
   &newvar #name {#onln }
   &setvar onlinename &dbf(1 ID)
   &join #name &dbtostr(&dbf(1 ID))
   &say #name
 &endif
GeSHi parsed in 0.127943992615 seconds.

Name: Online Catch
 Furcadia sends command {]%*}
    No Additional Conditions.
 THEN:
 $ Wolfscript
 // online checking
 &newvar #message &getvar(message)
 &newvar #online &mid(#message 3 1)
 &newvar #name &mid(#message 4)
 &set #which &getvar(onlineindex)
 &newvar #sql {select * from members where ID like '}
 &join #sql &getvar(onlinename)
 &join #sql {' order by ID}
 &dbopen 1 #sql
 // if the darn thing comes back empty, name error
 &newvar #check &dbrecordcount(1)
 &ifn #check > 0
   &ifn #online = 1
     &newvar #oldon &dbf(1 online)
     &ifs #oldon = FALSE
       // name was offline, set online and update time
       &newvar #ontime &date()
       &join #ontime { - }
       &join #ontime &time()
       &dbedit 1
       &dbset 1 online TRUE
       &dbset 1 lastseen #ontime
       &dbrsetupdate 1
       &set #message &time()
       &join #message { OnLine }
       &join #message #which
       &join #message {: }
       &join #message #name
       &display #message
     &endif
   &endif
   &ifn #online = 0
     &newvar #oldon &dbf(1 online)
     &ifs #oldon = TRUE
       // name was online, turn off
       &dbedit 1
       &dbset 1 online FALSE
       &dbrsetupdate 1
       &set #message &time()
       &join #message { OffLine }
       &join #message #which
       &join #message {: }
       &join #message #name
       &display #message
     &endif
   &endif
 &endif
 &add #which 1
 &setvar onlineindex #which
 &setvar onlinecheck TRUE
GeSHi parsed in 0.137939929962 seconds.
Last Updated ( Aug 16, 2008 at 11:41 AM )
Next Article>
header image