grayswandir
Новичок
- Сообщения
- 7
- Репутация
- 0
Доброго времени суток!
Прошу прощения, если ошибся разделом(сомневался куда запостить: либо сюда, либо в раздел ботов).
Возникла следующая ситуация: написал бота, для эмуляции действий игрока, в игре (World of Warcraft), программа использует мышь и клавиатуру, т.е. нуждается в активном окне. Задача весьма тривиальна: хочу запустить несколько клиентов игры, и ботов соответственно.
Хотел обсудить наиболее рациональные способы достижения цели. Пробовал залить на виртуальную машину(использовалась VMware Workstation 10), результаты странные: если на хосте клиент игры+бота занимают около 10-15% цп, и не глючат, то на виртуальной машине, мало того, что бот съедает больше ресурсов компьютера, так еще и заметно глючит ( особенно страдают модули передвижения(бот пробегает нужную точку, не засчитывая ее достижение, затем возвращается к ней) и поворота (бот не доворачивает до необходимого ракурса)).
В общем, ищу помощи: либо в решении проблем с виртуальными машинами и победы с глюками при их использовании, либо в поиске альтернатив виртуальным машинам (возможно Астер\возможность держать 2 активных пользователя в системе?)
ЗЫ: на виртуальных машинах тестировал разные ОС( Windows 7 x32, xp x32) Хост - Windows server 2008 enterprice r2
ЗЫЫ: код поворота и движения
Поворот
Движения
Прошу прощения, если ошибся разделом(сомневался куда запостить: либо сюда, либо в раздел ботов).
Возникла следующая ситуация: написал бота, для эмуляции действий игрока, в игре (World of Warcraft), программа использует мышь и клавиатуру, т.е. нуждается в активном окне. Задача весьма тривиальна: хочу запустить несколько клиентов игры, и ботов соответственно.
Хотел обсудить наиболее рациональные способы достижения цели. Пробовал залить на виртуальную машину(использовалась VMware Workstation 10), результаты странные: если на хосте клиент игры+бота занимают около 10-15% цп, и не глючат, то на виртуальной машине, мало того, что бот съедает больше ресурсов компьютера, так еще и заметно глючит ( особенно страдают модули передвижения(бот пробегает нужную точку, не засчитывая ее достижение, затем возвращается к ней) и поворота (бот не доворачивает до необходимого ракурса)).
В общем, ищу помощи: либо в решении проблем с виртуальными машинами и победы с глюками при их использовании, либо в поиске альтернатив виртуальным машинам (возможно Астер\возможность держать 2 активных пользователя в системе?)
ЗЫ: на виртуальных машинах тестировал разные ОС( Windows 7 x32, xp x32) Хост - Windows server 2008 enterprice r2
ЗЫЫ: код поворота и движения
Поворот
Код:
Func Turn($want)
AdlibUnRegister("analyzz")
AdlibRegister ( "analyzz" ,10000)
while true
sleep (50)
local $current = GetPos()
$sin = sin($current[2] - $want[2])
ToolTip(StringFormat("(%.2f,%.2f,%.2f) to (%.2f,%.2f,%.2f)", $current[0], $current[1], $sin, $want[0], $want[1], $want[2]))
if abs($sin) < 0.040 then return
MouseMove(MouseGetPos(0)+50*$sin, MouseGetPos(1), 1)
wend
EndFunc
Движения
Код:
Func Move($want)
local $locid = _ColorGetGreen(PixelGetColor(21, $aClientSize[1]/2, $hwnd))/255;
$locid = round($locid, 1)
while true
sleep (50)
$aClientSize = WinGetClientSize("[ACTIVE]")
local $pg = _ColorGetRed(PixelGetColor(1, $aClientSize[1]/2, $hwnd))
local $pos = GetPos()
local $dir = GetDirection($pos[0], $pos[1], $want[0], $want[1], $pos[2])
ToolTip(StringFormat("(%.2f,%.2f,%.2f) to (%.2f,%.2f, %.2f): (%.2f,%.2f)", $pos[0], $pos[1], $pos[2], $want[0], $want[1], $want[2], $dir[0], $dir[1]))
if abs($dir[0]) < 0.3 And abs($dir[1]) < 0.3 then ExitLoop
if $pg = 51 then Exitloop
IF $locid = 0.3 AND $playfille <> "2.txt" then Exitloop
IF $locid <> 0.3 AND $playfille = "2.txt" then Exitloop
if $pg = 102 AND $playfille <> "resu.txt" then ExitLoop
if abs($dir[0]) >= abs($dir[1]) Then
Send("{a up}{d up}")
if $dir[0] <=0 Then
Send("{w down}{s up}") ; forward
Else
Send("{s down}{w up}") ; backward
EndIf
Else
Send("{s up}")
if $dir[1] < 0 Then
Send("{d down}{a up}") ; right
Else
Send("{a down}{d up}") ; left
EndIf
EndIf
wend
Send("{s up}{a up}{d up}")
EndFunc