slagfag
This commit is contained in:
141
craft1.py
Normal file
141
craft1.py
Normal file
@@ -0,0 +1,141 @@
|
||||
import pyautogui
|
||||
import keyboard
|
||||
|
||||
centerX = 0
|
||||
centerY = 0
|
||||
deluje = False
|
||||
gledam = 0
|
||||
premik = 150
|
||||
delay = 100
|
||||
|
||||
class Point:
|
||||
def __init__(self, x, y):
|
||||
self.X = x
|
||||
self.Y = y
|
||||
|
||||
guiPoss = {}
|
||||
guiBarva = {}
|
||||
|
||||
def obrniSeNa(pozicija):
|
||||
global gledam, centerX, centerY, premik
|
||||
if pozicija != gledam:
|
||||
posX = centerX + (pozicija - gledam) * premik
|
||||
posY = centerY
|
||||
pyautogui.moveTo(posX, posY, duration=0.05)
|
||||
gledam = pozicija
|
||||
|
||||
def cakajNaGui(kateri, mode):
|
||||
global guiPoss, guiBarva
|
||||
while True:
|
||||
pixel = pyautogui.pixel(guiPoss[kateri - 1].X, guiPoss[kateri - 1].Y)
|
||||
if (mode == 1 and pixel == guiBarva[kateri - 1]) or (mode == 2 and pixel != guiBarva[kateri - 1]):
|
||||
return
|
||||
|
||||
def cakajNaItem(mode, posX, posY, auto=True):
|
||||
global guiBarvaOzadjaItema, guiBarvaOzadjaItemaHighlight
|
||||
isOk = False
|
||||
while not isOk:
|
||||
y = -2
|
||||
while y < 3:
|
||||
x = -2
|
||||
while x < 3:
|
||||
if auto:
|
||||
preveriAliKonca()
|
||||
pixel = pyautogui.pixel(posX + x, posY + y)
|
||||
if mode == 1: # cakaj da pride na slot
|
||||
if pixel != guiBarvaOzadjaItema and pixel != guiBarvaOzadjaItemaHighlight:
|
||||
return
|
||||
elif mode == 2: # cakaj da gre stran
|
||||
if pixel == guiBarvaOzadjaItema or pixel == guiBarvaOzadjaItemaHighlight:
|
||||
isOk = True
|
||||
if isOk >= 9:
|
||||
return
|
||||
x += 2
|
||||
y += 2
|
||||
isOk = False
|
||||
|
||||
def preveriAliKonca():
|
||||
if not keyboard.is_pressed('Minecraft'):
|
||||
prekini()
|
||||
if not deluje:
|
||||
keyboard.release('Shift')
|
||||
exit()
|
||||
|
||||
def craft(pozicija):
|
||||
global guiPoss, guiBarva, centerX, centerY
|
||||
if not pozicija:
|
||||
pozicija = 10
|
||||
C_recepti = {}
|
||||
I_recepti = {}
|
||||
if pozicija < 6:
|
||||
y = 0
|
||||
x = 0
|
||||
while y < 3:
|
||||
while x < 5:
|
||||
C_recepti[(y, x)] = Point(guiPoss[0].X + x * C_korakX, guiPoss[0].Y + y * C_korakY)
|
||||
I_recepti[(y, x)] = Point(guiPoss[4].X + x * I_korakX, guiPoss[4].Y + y * I_korakY)
|
||||
x += 1
|
||||
y += 1
|
||||
pixelCraftingTable = pyautogui.pixel(guiPoss[0].X, guiPoss[0].Y)
|
||||
pixelReceptiCraftingT = pyautogui.pixel(guiPoss[2].X, guiPoss[2].Y)
|
||||
pixelReceptiInventory = pyautogui.pixel(guiPoss[3].X, guiPoss[3].Y)
|
||||
pixelInventory = pyautogui.pixel(guiPoss[4].X, guiPoss[4].Y)
|
||||
if pixelCraftingTable == guiBarva[0] and pixelReceptiCraftingT == guiBarva[2]: # odprt crafting tabla in recepti
|
||||
y = 0
|
||||
x = 0
|
||||
while y < 3:
|
||||
while x < 5:
|
||||
# Perform the desired crafting action...
|
||||
x += 1
|
||||
y += 1
|
||||
|
||||
def prekini():
|
||||
global deluje
|
||||
deluje = False
|
||||
|
||||
def hotkey_start():
|
||||
global deluje, gledam, centerX, centerY
|
||||
deluje = True
|
||||
gledam = 0
|
||||
centerX, centerY = pyautogui.position()
|
||||
while deluje:
|
||||
preveriAliKonca()
|
||||
zanka()
|
||||
|
||||
def hotkey_stop():
|
||||
global deluje
|
||||
deluje = False
|
||||
|
||||
keyboard.add_hotkey('windows+j', hotkey_start, suppress=False)
|
||||
keyboard.add_hotkey('windows-j', hotkey_stop, suppress=False)
|
||||
keyboard.add_hotkey('e', prekini)
|
||||
keyboard.add_hotkey('esc', prekini)
|
||||
|
||||
# Register hotkeys for crafting
|
||||
for i in range(10):
|
||||
keyboard.add_hotkey('shift+'+str(i), lambda x=i: craft(x))
|
||||
|
||||
|
||||
# Define GUI positions and colors
|
||||
guiPoss[0] = Point(956, 403)
|
||||
guiPoss[1] = Point(802, 402)
|
||||
guiPoss[2] = Point(658, 402)
|
||||
guiPoss[3] = Point(657, 403)
|
||||
guiPoss[4] = Point(954, 403)
|
||||
|
||||
guiBarva[0] = 0xC3C3C3
|
||||
guiBarva[1] = 0xC4C4C4
|
||||
guiBarva[2] = 0xC5C5C5
|
||||
guiBarva[3] = 0xC5C5C5
|
||||
guiBarva[4] = 0xC2C2C2
|
||||
|
||||
# Other variables for crafting logic
|
||||
C_korakX = (1094 - 1023) / 4
|
||||
C_korakY = (516 - 443) / 3
|
||||
I_korakX = (897 - 692) / 4
|
||||
I_korakY = (631 - 478) / 3
|
||||
guiBarvaOzadjaItema = 0x8B8B8B
|
||||
guiBarvaOzadjaItemaHighlight = 0xC5C5C5
|
||||
|
||||
# Start the keyboard listener
|
||||
keyboard.wait()
|
||||
Reference in New Issue
Block a user