Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Need for Speed World szerverek állapotát lekérő AutoHotkey script v1 2013.03.06. (nem szép, ne azt nézd:)
- ;http://www.autohotkey.com/
- s_tempfile = %A_Temp%\autohotkey_nfsw.txt ;a script ebbe az állományba tölti le a szerverállapotot a felhasználó ideiglenes könyvtárába
- s_status := """status"":""" ;ez a karakterlánc találja meg az "status":" szöveget, amit a lényegi szerverállapot-infó követ...
- sa_status := Object() ;a szerverek állapotát tartalmazó tömb létrehozása
- UrlDownloadToFile, http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/servers/status?output=json, %s_tempfile% ;a szerverállapotot tartalmazó állomány letöltése
- Sleep, 500 ;500 ms várakozás, hogy a szerverállapotot tartalmazó állomány biztosan letöltődjön
- FileRead, s_filetext, %s_tempfile% ;a szerverállapotot tartalmazó állomány tartalmának kiolvasása
- FileDelete, %s_tempfile% ;a szerverállapotot tartalmazó állomány törlése
- StringReplace, s_filetext, s_filetext, %A_SPACE%, , All ;szóközök eltávolítása a szövegből
- i_position := RegExMatch(s_filetext, s_status) ;az első (APEX) szerver állapota helyének meghatározása a szövegben
- sa_status.Insert(SubStr(s_filetext, i_position + 10, 1)) ;az első (APEX) szerver állapota első karakterének tárolása (U = UP, D = DOWN)
- i_position := RegExMatch(s_filetext, s_status, Mode 1, i_position + 10) ;a második (CHICANE) szerver állapota helyének meghatározása a szövegben
- sa_status.Insert(SubStr(s_filetext, i_position + 10, 1)) ;a második (CHICANE) szerver állapota első karakterének tárolása (U = UP, D = DOWN)
- loop 2
- {
- if sa_status[A_Index] = "D"
- {
- sa_status[A_Index] := "DOWN" ;D átírása DOWN-ra (ez jelenik meg az ablakban)
- i_status = 16 ;ha legalább az egyik szerver áll, piros ikon jelenik meg az ablakban
- }
- else if sa_status[A_Index] = "U"
- {
- sa_status[A_Index] := "UP" ;U átírása UP-ra (ez jelenik meg az ablakban)
- }
- else
- {
- sa_status[A_Index] := "?" ;ismeretlen állapot (ez jelenik meg az ablakban, például olyankor is, amikor a szerverállapotot nem sikerült letölteni)
- }
- }
- msgbox % i_status, NFSW, % "APEX: " . sa_status[1] . "`n" . "CHICANE: " . sa_status[2] ;ablak megjelenítése
- ;A script ezen a struktúrán alapul (URL: http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/servers/status?output=json):
- ;
- ;{"worldServerStatus": {
- ; "lastChangedDate": null,
- ; "worldServerStatusList": [
- ; {
- ; "customMessage": "",
- ; "localizedMessage": "The servers are currently up and running.",
- ; "message": "ALL_SYSTEMS_GO",
- ; "shard": "APEX",
- ; "status": "UP"
- ; },
- ; {
- ; "customMessage": "",
- ; "localizedMessage": "The servers are currently up and running.",
- ; "message": "ALL_SYSTEMS_GO",
- ; "shard": "CHICANE",
- ; "status": "UP"
- ; }
- ; ]
- ;}}
Advertisement
Add Comment
Please, Sign In to add comment