26

(136 ответов, оставленных в Настройки / Плагины)

Когда бот выходит из боя и перед ним кто-то стоит, морковка не срабатывает.
Так же если стоит галочка "Ждать восстановления на каждом шагу" морковь тоже не работает.
Т.е. если нападут, сразу же выносят...
Но если вручную нажать "обновить", то сразу же срабатывает.

27

(10 ответов, оставленных в Настройки / Плагины)

golfrus пишет:

даите мне команду плиз

Апорт.  roll

Помоему апортом уже никто не пользуется, я бы рекоммендовал загуглить.
И комманда красочнее Загугли!!! lol

28

(15 ответов, оставленных в Настройки / Плагины)

Решил поделиться своим опытом автоматизации работы. Все выполнено одним скриптом + task scheduler. Итак:

1) Поддержка подключения к интернет(если используется комутируемый доступ, Dialup/PPPoE).
   Запуск:
     В Task Schedeler настраиваем время начала, в доп. свойствах выставляем повторять каждую минуту,
     командная строка
     wscript cmbmgmt.vbs -reconnect
   Описание:
     Если combats.com не доступен, пытаться установить соединение с интернетом.
     Если после установки соединения combats.com не доступен, зарываем бота.
     Если после установки соединения combats.com стал доступен, перезапускаем бота.
   PS:
     Если соединение не коммутируемое, можно использовать как проверку на доступность combats.com (можно),
     строчку про rasdial надо закомментировать.

2) Рестарт бота.
   Запуск:
     В Task Schedeler настраиваем время начала, в доп. свойствах выставляем повтор каждые X минут
     (например 127 минут), командная строка
     wscript cmbmgmt.vbs -restart
   Описание:
     Каждые X минут бот будет перезапускаться.

3) Аларм на приватное сообщение.
  Запуск:
     Поставить галочку Combots - Настройки - Дополнительно - Ведение лога собщений в чате - Включить
     Запускаем командную строка(Пуск-Выполнить-cmd).
     cscript cmbmgmt.vbs -alarm
   Описание:
     Запускается бесконечный цикл, который каждый X секунд провеяет дату изменения файла лога.
     Если было изменение, проверяется имя отправителя.
     Если имя не в белом листе то срабытывает тревога.
     Если запустить из меню выполнить, без cmd, то черного окна не будет, в списке процессов будет висеть
     cscript или wscript, в зависимости от настроек по умолчанию.
   PS:
     В белый лист заносятся знакомые(т.е. точно не тарм/палы), чтобы не будили в 3 часа ночи.
     Можно попытаться черный список сделать, но есть высокая вероятность ложного не срабатывания,
     поэтому использую белый.


Настройки скрипта(требуется настройка только секции Varible):
COMBOTS_PATH = "C:\Program Files\Combots\"  - путь к программе
EXE_NAME = "Program.exe"  - имя файла программы
PERS_NAMES = "PERSNAME1,PERSNAME2,PERSNAME3"  - список логинов через запятую, без пробелов
CONNECTION_NAME = "INET"  - имя соединения с интернетом(для комутируемого доступа)
INET_USER_NAME = "LOGIN"  - логин для интернета
INET_PASSWORD = "PASSWORD"  - пароль для интернета(внимание: пароль хранится в открытом виде!)
URL = "combats.com"  - можно указать точный город, например mooncity.combats.com
ALARM_FILE = "C:\alarm\R-Tem-Voiceless.wav"  - файл тревоги(только wav) R-Tem-Voiceless самое подходящее
CHECK_INTERVAL = 45  - проверка лога каждые X секунд 
WHITE_LIST = "PERS_NAME1,PERS_NAME2,PERS_NAME3"  - белый лист

PS:
Будьте внимательны с антивирусом(проверяйте работоспособность), некоторые АВ могут блокировать работу, или вообще счесть за вирус.
Вроде все, мож кому сгодится)).

Сам скрипт(копируем текст, сохраняем как cmbmgmt.vbs):

SPOILER Show

On Error Resume Next
 
'========= Varible =========
COMBOTS_PATH = "C:\Program Files\Combots\"
EXE_NAME = "Program.exe"
PERS_NAMES = "PERSNAME1,PERSNAME2,PERSNAME3"
CONNECTION_NAME = "INET"
INET_USER_NAME = "LOGIN"
INET_PASSWORD = "PASSWORD"
URL = "combats.com"
ALARM_FILE = "C:\alarm\R-Tem-Voiceless.wav"
CHECK_INTERVAL = 45
WHITE_LIST = "PERS_NAME1,PERS_NAME2,PERS_NAME3"
'
============================
CHAT_LOG=COMBOTS_PATH&"Logs\"&PERS_NAMES&"_ChatLog.txt"
Set objShell = CreateObject("
WScript.Shell")
Set objService = GetObject("
winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Set objFSO = CreateObject("
Scripting.FileSystemObject")
Set oArgs = wscript.Arguments
sAction = 0
Select Case oArgs(0)
   case "
-restart"
     sAction = 1
   Case "
-alarm"
     sAction = 2
   Case "
-reconnect"
     sAction = 3
End Select
 
'==== Restart Section ====
If sAction = 1 Then
  KillCombotsProcess
  StartCombots
  WScript.Quit
End If
'=======================
 
'==== Alarm Section ====
If sAction = 2 Then
  Set objFile=objFSO.GetFile(CHAT_LOG)
  mod1 = objFile.DateLastModified
  Do While True
    mod2 = objFile.DateLastModified   
    If mod1<>mod2 Then
      Set fileText = objFile.OpenAsTextStream(1,-2)
      logText = fileText.ReadAll
      logText = Left(logText,InStrRev(logText,"
]")-1)
      logText = Left(logText,InStrRev(logText,"
]")-1)
      sender_name = Right(logText,Len(logText)-InStrRev(logText,"
["))   
      If instr(WHITE_LIST,sender_name)=0 Then
        objShell.Run "
sndrec32 /play /close " & chr(34) & ALARM_FILE & chr(34), 0, True
      End If
      mod1 = mod2
    End If
    WScript.Sleep(CHECK_INTERVAL*1000)
  Loop
End If
'=======================
 
'==== Reconnect Section ====
If sAction = 3 Then
  status1 = Ping(URL)
  If status1=0 Then
    objShell.Run "
rasdial "&CONNECTION_NAME&" "&INET_USER_NAME&" "&INET_PASSWORD,0,True
  Else
    If CombotsStarted=0 Then
      StartCombots
    Else
      WScript.Quit
    End If
  End If
  status2 = Ping(URL)
  If status2=0 Then 'если после подключения URL не доступен - закрываем бота
    KillCombotsProcess
  Else
    If status1=0 Then 'если после подключения URL стал доступен - перезапускаем бота
      KillCombotsProcess
      StartCombots
    End If
  End If
  WScript.Quit
End If
'=================
 
MsgBox "
For restart combots:"&vbCr&"cmbmgmt.vbs -restart"&vbCr&vbCr&"For enable alarm:"&vbCr&"cscript cmbmgmt.vbs -alarm"&vbCr&vbCr&"For internet reconnect:"&vbCr&"cmbmgmt.vbs -reconnect",0,"Usage"
WScript.Quit
 
Function CombotsStarted
  Set colProcessList = objService.ExecQuery("
SELECT * FROM Win32_Process WHERE Name = '"&EXE_NAME&"'")
  CombotsStarted = 0
  For Each objProcess in colProcessList
    CombotsStarted = 1
  Next
End Function
 
Sub KillCombotsProcess
Set colProcessList = objService.ExecQuery("
SELECT * FROM Win32_Process WHERE Name = '"&EXE_NAME&"'")
  For Each objProcess in colProcessList
    objProcess.Terminate()
  Next
End Sub
 
Sub StartCombots
  PERS_NAMES_LIST = Split(PERS_NAMES,"
,")
  objShell.CurrentDirectory = COMBOTS_PATH
  For i = 0 To uBound(PERS_NAMES_LIST)
    objShell.Run "
"""&COMBOTS_PATH&EXE_NAME&""""&" "&PERS_NAMES_LIST(i),6,False
  Next
End Sub
 
Function Ping(strName)
    Set objPing =objService.ExecQuery("
select * from Win32_PingStatus where Timeout=400 and address = '"& strName & "'")
    For Each objStatus in objPing
        If IsNull(objStatus.StatusCode) Or objStatus.StatusCode<>0 Then
            Ping = 0
        Else
           Ping = 1
        End If
    Next
End Function

29

(1 ответов, оставленных в Подземелье / Маршруты)

В санде на 2 этаже есть 2 места, где надо ждать и вылавливать ПГ по одному, так как 9 со всеми не спарляется.
Можно в маршруте прописать, по аналогии с количеством посещения клетки, количетсво проведенных на этой клетки боев, типа Если боев>3 идем дальше?

30

(3 ответов, оставленных в Проблемы / Баги / Неполадки)

И все таки, будет ли галочка типа "принимать ближайшую"? Ну вобщем сделать как написано в описании о том что учитывается только кулаки/орижие, а тайм-аут не учитывается...

31

(3 ответов, оставленных в Проблемы / Баги / Неполадки)

Делает ли бот выбор по наименьшему таймауту? Т.е. есть заявки:
Бой начнется через 7.9 мин., таймаут 1 мин
Бой начнется через 1.0 мин., таймаут 3 мин
Бот выбирает всегда ту что с меньшим таймаутом т.е. ждет 7.9 мин (проверял несколько раз). Можно ли что бы он выбирал заявку ту что раньше начнется?

PS ver 9.0 в настройках стоит прием заявок.