Что нового

LoadingToOutospace Модуль

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
LoadingToOutospace v0.1
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Модуль LoadingToOutospace v0.1 Модуль выгрузки в космос
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; Само тело функции расместить в любой удобной части скрипта.
;; Использовать ссылку на функцию из любой части скрипта, чтобы инициировать процесс отстыковки от станции.
;; Зависимость: НЕТ
;; Описание:
;; Модуль выгрузки в космос - это независмый модуль не требующий для своей работы каких либо других модулей.
;; Принцип работы:
;; Установка окна EVE в исходное положение (0,21).
;; Инициализация процесса отстыковки путем нажатия на кнопку Undock.
;; Приостановка дальнейшего выполнения скрипта до момента подтверждения нахождения корабля в космосе.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
Func LoadingToOutospace()
    winmove("EVE", "", 0, 21)
    MouseClick("left", 25, 785, 1, 15)
    CS(1000)
    Do
        ToolTip("Undocking", 50, 30)
        PixelSearch (55, 95-7, 57, 97-6, 0xE6E6E6, 10)
    Until @error = 0
EndFunc ;==>LoadingToOutospace
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: LoadingToOutospace

_LoadingToOutospace v1.3
Код:
;Запрос на док: _DockUndock("Dock")
;Запрос на андок: _DockUndock("Undock")
 
Dim $WinPos = WinGetPos("EVE")
Dim $UBX = $WinPos[0]+25, $UBY = $WinPos[1]+806 ;Undock Button X/Y
Dim $ISSAX1 = $WinPos[0]+54, $ISSAY1 = $WinPos[1]+67, $ISSAX2 = $ISSAX1+3, $ISSAY2 = $ISSAY1+3, $ISSAC = 0xE6E6E6, $ISSAS = 10;InSpaceSearchArea X/Y, 1/2, Color, Shade
Local $i
Func _DockUndock($DockUndockOp)
    $ModuleName = "_DockUnDock"
    Select
        Case $DockUndockOp = "Dock"
            $i = 284
        Case $DockUndockOp = "Undock"
            $i = 283
        Case Else
            _EM("Неправильно задан параметр DockUndockOp.")
            Exit
    EndSelect
    Do
        _ShipState()
    Until _ShipState() = $i
    Return $i
EndFunc ;==>LoadingToOutospace
 
Func _ShipState()
    PixelSearch ($ISSAX1, $ISSAY1, $ISSAX2, $ISSAY2, $ISSAC, $ISSAS)
    If @error Then
        Return 284 ;На станции
    Else
        Return 283 ;В космосе
    EndIf
EndFunc
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: LoadingToOutospace

LoadingToOutospace v1.31
Код:
;Запрос на док: _DockUndock("Dock")
;Запрос на андок: _DockUndock("Undock")
 
Dim $WinPos = WinGetPos("EVE")
Dim $UBX = $WinPos[0]+25, $UBY = $WinPos[1]+806 ;Undock Button X/Y
Dim $ISSAX1 = $WinPos[0]+54, $ISSAY1 = $WinPos[1]+67, $ISSAX2 = $ISSAX1+3, $ISSAY2 = $ISSAY1+3, $ISSAC = 0xE6E6E6, $ISSAS = 10;InSpaceSearchArea X/Y, 1/2, Color, Shade
Local $i
Func _DockUndock($DockUndockOp)
    $ModuleName = "_DockUnDock"
    Select
        Case $DockUndockOp = "Dock"
            _Dock()
        Case $DockUndockOp = "Undock"
            _Undock()
        Case Else
            ;~ _EM("Неправильно задан параметр DockUndockOp.")
            Exit
    EndSelect
EndFunc ;==>LoadingToOutospace
 
Func _ShipState()
    PixelSearch ($ISSAX1, $ISSAY1, $ISSAX2, $ISSAY2, $ISSAC, $ISSAS)
    If @error Then
        Return 284 ;На станции
    Else
        Return 283 ;В космосе
    EndIf
EndFunc
 
Func _Undock()
    $i = 283
    MouseClick("left", 25, 785, 1, 15)
    Do
        _ShipState()
    Until _ShipState() = $i
    Do
        _StopShip()
    Until _StopShip() = 281
    Return $i
EndFunc
 
Func _Dock()
    $i = 284
    MsgBox(0, "Error", "Эта функция пока не поддерживается")
    Return $i
EndFunc
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: LoadingToOutospace

garrul сказал(а):
я делаю андок так:
Код:
Func Undock()
        MouseClick("left", $DockButtX, $DockButtY, 1, Random(10,90))
        MainMenuTest()
        CS(1000)
        StopShip()
    EndFunc
    
    Func MainMenuTest() ; Проверяем на месте ли главное меню (в космосе мы или нет). Задержка на андок.
        $unknow = 0
        Do 
                CS(1000)
            If PixelSearch ($MenuX-1, $MenuY-1, $MenuX+1, $MenuY+1, 0xE6E6E6, 10) Then 
                ToolTip("Выдокиваемся...", 0,0) 
            Else                    
                ToolTip("...выдокнулись",0,0)
                CS(300)
                $unknow = 1
            EndIf
        Until $unknow = 1       
    EndFunc 
 
    Func StopShip()
        Send("^{SPACE}")
        CS(Random(50,400))
        Send("^{SPACE}") ; почему то не всегда хватает одного нажатия
    EndFunc
 
Верх