文章目录
- 脚本思路
项目结构:
由橙华市全自动战斗改写的。大部分代码都不用修改。
金珠脚本money.py
土狼犬图片,区域选择土狼犬。
战斗废话的像素值,选择右下角一片深绿色。
战斗画面的像素值,和之前一样,取背景中的点。
from PIL import ImageGrab
from base.cai_yang import *
from base.key_setting import *
from base.script import *
# 图片的采样数据
data_safe = cai_yang(Image.open("安全区.png"), (420, 335, 476, 384), 8)
data_pp = cai_yang(Image.open("没有PP.png"), (607, 827, 757, 914), 16)
data_dog = cai_yang(Image.open("土狼犬.png"), (1276, 286, 1496, 418), 8)
# 战斗画面的关键像素点
pot_1 = ((1447, 889), (72, 152, 120)) # 战斗废话
pot_2 = ((1042, 487), (224, 192, 96)) # 战斗画面
def zhi_liao():
c.release(ACCELERATE)
press(DOWN)
[press(LEFT) for i in [1, 2, 3, 4]]
c.press(ACCELERATE)
run(UP, 0.3)
[press(A) for i in [1, 2, 3, 4]]
[press(B) for i in [1, 2, 3, 4]]
run(DOWN, 0.3)
run(RIGHT, 0.3)
walk(LEFT)
run(UP)
def tao_pao():
press(B)
press(DOWN, t2=0)
press(RIGHT, t2=0)
press(A)
def get_it():
press(START)
press(A)
press(A)
c.release(ACCELERATE)
press(DOWN, 0.14, 0.1)
press(A)
press(DOWN, 0.14, 0.1)
press(A)
c.press(ACCELERATE)
[press(B) for i in [1, 2, 3, 4]]
if __name__ == '__main__':
a = Simple_Script(kb.Key.f12, lambda: c.press(ACCELERATE), lambda: c.release(ACCELERATE))
a.start()
state_can_attack = False
state_has_dog = False
while True:
if a.state:
img = ImageGrab.grab()
a1 = is_same_img(img, data_safe)
a2 = is_same_img(img, data_pp)
a3 = is_same_img(img, data_dog)
p1 = img.getpixel(pot_1[0]) == pot_1[1]
p2 = img.getpixel(pot_2[0]) == pot_2[1]
if a1: # 安全区
if state_has_dog: # 取出金珠
get_it()
state_has_dog = False
if state_can_attack: # 去草丛
run(RIGHT)
else: # 去治疗
zhi_liao()
state_can_attack = True
elif p1: # 战斗废话
if a2: # PP不足
state_can_attack = False
press(A)
elif a3 and state_can_attack: # 土狼犬
state_has_dog = True
press(A)
elif p2: # 其他战斗
tao_pao()
else: # 回安全区
run(LEFT)
脚本思路
是否遇见了土狼犬:
默认False。
在安全区时,如果True,取出然后改为False。
在战斗时,如果遇见了土狼犬,改为True。
如果是战斗废话。点击A键。
如果是PP不足,改变可战状态为False。
如果是土狼犬。而且可以战斗。点击A键。
如果不是。逃跑。