thinkiem
02-09-16, 05:01 PM
Cái này mình cũng sưu tâm nên k rõ tường tận !! mình có chú thích bên trong code những thứ hiểu được !! nêu nếu ai thấy có thể lấy đc thì lấy ! không tiếp gạch đá nhé :P
Yêu cầu :
+ Phận mềm Autoit
+ Photoshop
Chỉ tưng đó thôi !! trong hình mình cũng có từng này file thôi :
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
còn đây là code :
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <ProgressConstants.au3>
#include <Array.au3>
#include <File.au3>
#include <InetConstants.au3>
#include <MsgBoxConstants.au3>
#include <IE.au3>
; Mấy dòng trên là khai báo thư viện ^_^ không nói chắc cũng biết
Opt("TrayAutoPause", 0) ; Tắt chế độ auto pause khi nhấn chuột vào icon ở chỗ dồng hồ
Opt("TrayMenuMode", 1) ; Tắt menu chuột phải ở icon
; Khai báo và khở động giao diện
Global $hGUI, $hImage, $hGraphic, $hImage
Global Const $SC_DRAGMOVE = 0xF012
_GDIPlus_Startup()
; Load PNG image chỗ này là lấy cái hình làm giao diện nè
$hImage = _GDIPlus_ImageLoadFromFile("gui.dat")
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)
; Create GUI -> lệnh tạo giao diện, nút thoát
$hGUI = GUICreate("VLCA", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$hGUI_child = GUICreate("", $iWidth, $iHeight, 0, 0, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST + $WS_EX_MDICHILD, $hGUI)
$hButton = GUICtrlCreateButton("Thoát", $iWidth * 2 / 3 + 15, $iHeight - 30, 70, 25)
GUISetBkColor(0xFFFFFF, $hGUI_child)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
SetTransparentBitmap($hGUI, $hImage)
_WinAPI_SetLayeredWindowAttributes($hGUI_child, 0xFFFFFF, 0xff)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI_child)
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
;----------------------------------------------------------------------------------------------------------------------------------------
;Show Processbar khai báo 2 cái thanh tiến trình
;ProgressOn("Võ Lâm ...", "Kiểm tra cập nhật...", "0%")
Local $processbar1 = GUICtrlCreateProgress(20, $iHeight - 30, 240, 10) ;thanh thứ 1 -> thanh này là tiến trình của 1 file
Local $processbar = GUICtrlCreateProgress(20, $iHeight - 15, 240, 10) ;thanh thứ 2 -> tiến trình của tất cả các file
Local $idLabel = GUICtrlCreateLabel("Đang kiểm tra cập nhật...", 20, $iHeight - 45, 240) ; khai báo dòng chữ ngay trên thanh tiến trình tạm gọi là status
GUICtrlSetColor($idLabel, 0xFFFFFF0)
Local $oIE = _IECreateEmbedded () ; Chỗ này là khai báo chèn trang web vào
Local $GUIActiveX = GUICtrlCreateObj($oIE, 16, 124, 230, 328) ; định vị trí với kích thước cho cái khung
_IENavigate ($oIE, "launcher.php") ; địa chỉ web sẽ load trong cái khung
_IEHeadInsertEventScript ($oIE, "document", "oncontextmenu", "return false") ; chèn nội dung web
$oIE.document.body.scroll = "no" ; bỏ qua thanh cuộn web
$oIE.document.body.style.border = "0px" ; bỏ qua viền của web
; Save the downloaded file to the temporary folder. -. chỗ này là khai báo đường dẫn thư mục sẽ download về và đọc nhưng file trên mạng để download
Local $ServerListPath = "Settings\ServerList.ini"
Local $VersionPath = "Settings\Version.ini"
Local $ServerListURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $VersionURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $UpdateURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $UpdateDIR = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
; Download the file by waiting for it to complete. The option of 'get the file from the local cache' has been selected.
Local $iBytesSize = InetGet($ServerListURL, $ServerListPath, $INET_FORCERELOAD) ; lệnh download file ServerList.ini để cập nhật ip của server
;///////////////////////////////////////////////////////////////////////////
; Read Version File -> đọc file version.ini để kiểm tra phiên bản hiện tại
Local $aInput
If not FileExists($VersionPath) then
Local $iBytesSize = InetGet($ServerListURL,$VersionPath , $INET_FORCERELOAD)
EndIf
_FileReadToArray($VersionPath, $aInput)
; Read Version Server -> đọc file version trên mạng để xem phiên bản mới nhất
Local $SV = BinaryToString(InetRead($VersionURL))
; Check new version -> kiểm tra xem 2 file đó có giống nhau ko nếu giống thì bỏ qua
if $aInput[1]<>$SV then ; Nếu khác nhau thì bắt đầu đọc những file cần cập nhật từ link đã khai báo ở trên
; Get list file to download
Local $Listupdate = BinaryToString(InetRead($UpdateURL))
Local $Savedir = BinaryToString(InetRead($UpdateDIR))
Local $aUpdate = StringSplit($Listupdate, "|")
Local $aSave = StringSplit($Savedir, "|")
Local $oneprocess = Round(99/$aUpdate[0]-1)
; Begin download file -. bắt đầu download các file mới nằm trong thư mục update trên host
For $i = 1 To UBound($aUpdate)-2
GUICtrlSetData ($idLabel,"Tải file: "&$aSave[$i]) ;Hiển thị đang tải file tên gì lên status
GUICtrlSetData($processbar, $oneprocess) ;thanh tiến trình về 0
Local $iBytesSize = InetGet($aUpdate[$i],$aSave[$i] , 1,1) ; chỗ này là lệnh download
$oneprocess = $oneprocess + $oneprocess ; phần trăm cho thanh tiến trình
Local $FileSize = InetGetSize($aUpdate[$i]) ;Get file size -> lấy dung lượng file để tính toán phần trăm đưa lên thanh tiến trình
While Not InetGetInfo($iBytesSize, 2) ;Loop until download is finished
Sleep(500) ;Sleep for half a second to avoid flicker in the progress bar
Local $BytesReceived = InetGetInfo($iBytesSize, 0) ;Get bytes received -> dung lượng đã download
Local $Pct = Int($BytesReceived / $FileSize * 100) ;Calculate percentage -> chia lấy phần trăm
;ProgressSet($Pct, $Pct & "%") ;Set progress bar
GUICtrlSetData($processbar1, $Pct) ; đặt phần trăm lên thanh tiến trình
WEnd
Next
EndIf
;///////////////////////////////////////////////////////////////////////////
; Update file version. -> sau khi download hết thì down luôn file version trên mạng về để lần sau kiểm tra sẽ là ản mới nhất -> không download lại
Local $iBytesSize = InetGet($VersionURL,$VersionPath , $INET_FORCERELOAD)
GUICtrlSetData($processbar1, 100) ;-> thanh tiến trình 100%
GUICtrlSetData($processbar, 100) ;-> như trên (2 thành mà)
GUICtrlSetData ($idLabel,"Hoàn thành. Nhấn nút bắt đầu để chơi game.") ;Status thành dòng thông báo Hoàn thành
Local $idButton = GUICtrlCreateButton("Bắt đầu", $iWidth * 2 / 3 -65, $iHeight - 30, 70, 25) ; Hiển thị nút "Bắt đầu"
; Run program Game.exe.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
;Close Processbar
Sleep(1000) ; Nghĩ 1s để kịp xem load mọi thứ
ProgressOff() ; Kết thúc thanh tiến trình
;----------------------------------------------------------------------------------------------------------------------------------------
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hButton ; Lệnh khi nhấn nút thoát
GUIRegisterMsg($WM_LBUTTONDOWN, "")
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
ExitLoop
Case $GUI_EVENT_CLOSE, $idButton ; Lệnh khi nhấn nút bắt đầu
GUIRegisterMsg($WM_LBUTTONDOWN, "")
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
ExitLoop
EndSwitch
WEnd
; Mấy cái dòng dưới này là để chỉnh sửa giao diện ví dụ như trong suốt, canh giữa màn hình... không quan tâm đến nữa!
Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWN
Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, $hMemDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetTransparentBitmap
Lưu ý là trong thư mục Settings các bạn tạo 2 file ServerList.ini và Version.ini để auto kiểm tra nhé
VD :
Version.ini :
1.1
ServerList.ini :
[List]
RegionCount=2
Region_0=M¸y Chñ Vâ L©m
Region_1=TruyÒn Kú B¾c Nam
[Region_1]
Count=1
0_Title=Dîc S¬n
0_Address=192.168.1.123
PS: Thiếu 2 file PHPUpdateURL.php và UpdateDIR.php ở trên host nữa ! mình sẽ Update sau !!
Yêu cầu :
+ Phận mềm Autoit
+ Photoshop
Chỉ tưng đó thôi !! trong hình mình cũng có từng này file thôi :
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
còn đây là code :
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <ProgressConstants.au3>
#include <Array.au3>
#include <File.au3>
#include <InetConstants.au3>
#include <MsgBoxConstants.au3>
#include <IE.au3>
; Mấy dòng trên là khai báo thư viện ^_^ không nói chắc cũng biết
Opt("TrayAutoPause", 0) ; Tắt chế độ auto pause khi nhấn chuột vào icon ở chỗ dồng hồ
Opt("TrayMenuMode", 1) ; Tắt menu chuột phải ở icon
; Khai báo và khở động giao diện
Global $hGUI, $hImage, $hGraphic, $hImage
Global Const $SC_DRAGMOVE = 0xF012
_GDIPlus_Startup()
; Load PNG image chỗ này là lấy cái hình làm giao diện nè
$hImage = _GDIPlus_ImageLoadFromFile("gui.dat")
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)
; Create GUI -> lệnh tạo giao diện, nút thoát
$hGUI = GUICreate("VLCA", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$hGUI_child = GUICreate("", $iWidth, $iHeight, 0, 0, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST + $WS_EX_MDICHILD, $hGUI)
$hButton = GUICtrlCreateButton("Thoát", $iWidth * 2 / 3 + 15, $iHeight - 30, 70, 25)
GUISetBkColor(0xFFFFFF, $hGUI_child)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
SetTransparentBitmap($hGUI, $hImage)
_WinAPI_SetLayeredWindowAttributes($hGUI_child, 0xFFFFFF, 0xff)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI_child)
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
;----------------------------------------------------------------------------------------------------------------------------------------
;Show Processbar khai báo 2 cái thanh tiến trình
;ProgressOn("Võ Lâm ...", "Kiểm tra cập nhật...", "0%")
Local $processbar1 = GUICtrlCreateProgress(20, $iHeight - 30, 240, 10) ;thanh thứ 1 -> thanh này là tiến trình của 1 file
Local $processbar = GUICtrlCreateProgress(20, $iHeight - 15, 240, 10) ;thanh thứ 2 -> tiến trình của tất cả các file
Local $idLabel = GUICtrlCreateLabel("Đang kiểm tra cập nhật...", 20, $iHeight - 45, 240) ; khai báo dòng chữ ngay trên thanh tiến trình tạm gọi là status
GUICtrlSetColor($idLabel, 0xFFFFFF0)
Local $oIE = _IECreateEmbedded () ; Chỗ này là khai báo chèn trang web vào
Local $GUIActiveX = GUICtrlCreateObj($oIE, 16, 124, 230, 328) ; định vị trí với kích thước cho cái khung
_IENavigate ($oIE, "launcher.php") ; địa chỉ web sẽ load trong cái khung
_IEHeadInsertEventScript ($oIE, "document", "oncontextmenu", "return false") ; chèn nội dung web
$oIE.document.body.scroll = "no" ; bỏ qua thanh cuộn web
$oIE.document.body.style.border = "0px" ; bỏ qua viền của web
; Save the downloaded file to the temporary folder. -. chỗ này là khai báo đường dẫn thư mục sẽ download về và đọc nhưng file trên mạng để download
Local $ServerListPath = "Settings\ServerList.ini"
Local $VersionPath = "Settings\Version.ini"
Local $ServerListURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $VersionURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $UpdateURL = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
Local $UpdateDIR = "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
; Download the file by waiting for it to complete. The option of 'get the file from the local cache' has been selected.
Local $iBytesSize = InetGet($ServerListURL, $ServerListPath, $INET_FORCERELOAD) ; lệnh download file ServerList.ini để cập nhật ip của server
;///////////////////////////////////////////////////////////////////////////
; Read Version File -> đọc file version.ini để kiểm tra phiên bản hiện tại
Local $aInput
If not FileExists($VersionPath) then
Local $iBytesSize = InetGet($ServerListURL,$VersionPath , $INET_FORCERELOAD)
EndIf
_FileReadToArray($VersionPath, $aInput)
; Read Version Server -> đọc file version trên mạng để xem phiên bản mới nhất
Local $SV = BinaryToString(InetRead($VersionURL))
; Check new version -> kiểm tra xem 2 file đó có giống nhau ko nếu giống thì bỏ qua
if $aInput[1]<>$SV then ; Nếu khác nhau thì bắt đầu đọc những file cần cập nhật từ link đã khai báo ở trên
; Get list file to download
Local $Listupdate = BinaryToString(InetRead($UpdateURL))
Local $Savedir = BinaryToString(InetRead($UpdateDIR))
Local $aUpdate = StringSplit($Listupdate, "|")
Local $aSave = StringSplit($Savedir, "|")
Local $oneprocess = Round(99/$aUpdate[0]-1)
; Begin download file -. bắt đầu download các file mới nằm trong thư mục update trên host
For $i = 1 To UBound($aUpdate)-2
GUICtrlSetData ($idLabel,"Tải file: "&$aSave[$i]) ;Hiển thị đang tải file tên gì lên status
GUICtrlSetData($processbar, $oneprocess) ;thanh tiến trình về 0
Local $iBytesSize = InetGet($aUpdate[$i],$aSave[$i] , 1,1) ; chỗ này là lệnh download
$oneprocess = $oneprocess + $oneprocess ; phần trăm cho thanh tiến trình
Local $FileSize = InetGetSize($aUpdate[$i]) ;Get file size -> lấy dung lượng file để tính toán phần trăm đưa lên thanh tiến trình
While Not InetGetInfo($iBytesSize, 2) ;Loop until download is finished
Sleep(500) ;Sleep for half a second to avoid flicker in the progress bar
Local $BytesReceived = InetGetInfo($iBytesSize, 0) ;Get bytes received -> dung lượng đã download
Local $Pct = Int($BytesReceived / $FileSize * 100) ;Calculate percentage -> chia lấy phần trăm
;ProgressSet($Pct, $Pct & "%") ;Set progress bar
GUICtrlSetData($processbar1, $Pct) ; đặt phần trăm lên thanh tiến trình
WEnd
Next
EndIf
;///////////////////////////////////////////////////////////////////////////
; Update file version. -> sau khi download hết thì down luôn file version trên mạng về để lần sau kiểm tra sẽ là ản mới nhất -> không download lại
Local $iBytesSize = InetGet($VersionURL,$VersionPath , $INET_FORCERELOAD)
GUICtrlSetData($processbar1, 100) ;-> thanh tiến trình 100%
GUICtrlSetData($processbar, 100) ;-> như trên (2 thành mà)
GUICtrlSetData ($idLabel,"Hoàn thành. Nhấn nút bắt đầu để chơi game.") ;Status thành dòng thông báo Hoàn thành
Local $idButton = GUICtrlCreateButton("Bắt đầu", $iWidth * 2 / 3 -65, $iHeight - 30, 70, 25) ; Hiển thị nút "Bắt đầu"
; Run program Game.exe.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
;Close Processbar
Sleep(1000) ; Nghĩ 1s để kịp xem load mọi thứ
ProgressOff() ; Kết thúc thanh tiến trình
;----------------------------------------------------------------------------------------------------------------------------------------
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hButton ; Lệnh khi nhấn nút thoát
GUIRegisterMsg($WM_LBUTTONDOWN, "")
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
ExitLoop
Case $GUI_EVENT_CLOSE, $idButton ; Lệnh khi nhấn nút bắt đầu
GUIRegisterMsg($WM_LBUTTONDOWN, "")
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
ExitLoop
EndSwitch
WEnd
; Mấy cái dòng dưới này là để chỉnh sửa giao diện ví dụ như trong suốt, canh giữa màn hình... không quan tâm đến nữa!
Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWN
Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, $hMemDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetTransparentBitmap
Lưu ý là trong thư mục Settings các bạn tạo 2 file ServerList.ini và Version.ini để auto kiểm tra nhé
VD :
Version.ini :
1.1
ServerList.ini :
[List]
RegionCount=2
Region_0=M¸y Chñ Vâ L©m
Region_1=TruyÒn Kú B¾c Nam
[Region_1]
Count=1
0_Title=Dîc S¬n
0_Address=192.168.1.123
PS: Thiếu 2 file PHPUpdateURL.php và UpdateDIR.php ở trên host nữa ! mình sẽ Update sau !!