絵を描いたりネットいろいろ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
まくろ2

require 'Win32API'

# マウス
SetForegroundWindow = Win32API.new('user32', 'SetForegroundWindow', %w(i), 'i')
ClientToScreen = Win32API.new('user32', 'ClientToScreen', %w(i p), 'i')
SetCursorPos = Win32API.new('user32', 'SetCursorPos', %w(i i), 'i')
SendInput = Win32API.new("user32", "SendInput", %w(i p i), 'i')

INPUT_MOUSE = 0
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004

def click wait = 0.5
mouseinput1 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTDOWN, 0, 0].pack('LllLLLL')
mouseinput2 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTUP, 0, 0].pack('LllLLLL')
input = mouseinput1 + mouseinput2
SendInput.call 2, input , mouseinput1.length
sleep wait
intrrupt
end
def mv x , y , wait = 4.0
SetCursorPos.call x , y
sleep wait
intrrupt
end

# キーボード受信
GetKeyState = Win32API.new('user32.dll', 'GetKeyState', %w(i), 'i')
VK_ESCAPE = 0x1B
VK_CONTROL = 0x11

def intrrupt
if GetKeyState.call( VK_CONTROL ) < 0
puts :exit
exit
end
end


# 座標色
GetDC = Win32API.new("user32", "GetDC", %w(i), 'i')
GetPixel = Win32API.new("gdi32", "GetPixel", %w(iii), 'i')

#ir = GetPixel.call GetDC.call(0) , 300 , 20
#p ir.to_s(16)


# キーボード送信  -未実装-
# SendMessage = Win32API.new("user32", "SendMessage", %w(iiii), 'i')
# PostMessage = Win32API.new("user32", "PostMessage", %w(iiii), 'i')
# GetForegroundWindow = Win32API.new("user32", "GetForegroundWindow", %w(iiii), 'i')
# PostMessage.call GetForegroundWindow.call , 0x41, 0 , 0



# __entry__

# 戦闘
loop do
#7.times do

4.times do
# 挑戦
6.times do
# 挑戦
mv 110 , 340
click

# 炭鉱
# mv 110 , 530
# 竜の住む山
mv 110 , 580
click
end
# 戦闘
0.times do
# 戦闘
mv 50 , 340
click
# 管理国家
mv 50 , 380
click

# レイ or NPC 色判定
sleep 3
ir = GetPixel.call GetDC.call(0) , 390 ,411
if ir.to_s(16) == "edfbff"
# レイ
mv 180 , 530
click
else
# NPC
mv 180 , 425
click
end
# 戦闘
mv 340 , 565
click
end


# 武器倉庫
# 装備
mv 240 , 340
click
# 倉庫
mv 180 , 400
click
# 入庫
mv 120 , 620
click
# ok no
mv 430 , 405
click 6.0
end

# 防具倉庫
# 装備
mv 300 , 340
click
# 倉庫
mv 180 , 400
click
# 入庫
mv 120 , 620
click
# ok no
mv 430 , 405
click 6.0

# スフィア
# 自室
mv 180 , 340
click
# スフィアkuro
mv 310 , 435
click
# スフィアsiro
mv 520 , 635
click
# ok no
mv 430 , 405
click 6.0

end # loop



座標の色取得できるようにした
キーメッセージ送信については思い出した
確か、フォアグラウンドのhWndを取得しても、
それはテキストエリアのhWndではないから、
フォアグラウンドのhWndからテキストエリアのhWndを辿るようなコードを書かないといけなかったはず
それで前は、wsh使ってかいてたはず
この部分はWinAPIじゃなくwsh使おう
    0..

kakikomi