利用chatgpt写python前台游戏脚本天龙怀旧

编程入门 行业动态 更新时间:2024-10-10 06:15:05

利用chatgpt写python<a href=https://www.elefans.com/category/jswz/34/1770109.html style=前台游戏脚本天龙怀旧"/>

利用chatgpt写python前台游戏脚本天龙怀旧

前言:  这游戏很坑钱,也坑时间,已经脱坑了,怕什么时候忍不住又入坑,因为之前全部都写了,全删掉的了, 因为是前台脚本就没啥好说的,因为是在虚拟机里面写的,以后多开有用。

VMware虚拟机做去虚拟化,挂游戏测试了两天,(白号)也没有被封。

需要安装环境python3.8和脚本对应的包,

用法:python运行脚本,然后 home启动脚本,end暂停脚本。

郑重申明:是前台脚本,并不通用,因为我是虚拟机所以不同电脑也可以装虚拟机,加载防封虚拟机可以一直用。

给爱学习的童鞋可以借鉴下思路,如果还有不懂的可以问问chatgpt。

还有内挂自动挂机,自动回点没写那个更简单了(如果入坑写了,直接分享虚拟机和成品脚本)。

1. 功能——自动切换天龙八部窗口,游戏可以被遮挡但不能最小化,自动升级,打死换怪,溪山行旅冷却就放,自动加血,加蓝,自动宝宝加血。

2. 游戏设置——虚拟机桌面1024x768,游戏1024x768 最大化,先速度有限,然后全部不勾选,非聊天模式

3. ,技能设置——F1选怪,F2门派平推,F3下溪山行旅,F4,F5加蓝,F6,7加血,F8.9宝宝血

虚拟机游戏图:

代码如下:

# -*- coding: utf-8 -*-
# 1. 功能——自动切换天龙八部窗口,游戏可以被遮挡但不能最小化,自动升级,打死换怪,溪山行旅冷却就放,自动加血,加蓝,自动宝宝加血。# 2. 游戏设置——虚拟机桌面1024x768,游戏1024x768 最大化,先速度有限,然后全部不勾选,非聊天模式# 3. 技能设置——F1选怪,F2门派平推,F3下溪山行旅,F4,F5加蓝,F6,7加血,F8.9宝宝血
# 用处:门派刷怪,副本刷怪,自动升级。import pygetwindow as gw
from fuzzywuzzy import fuzz
import pyautogui
import time
import random
from PIL import Image
import keyboard
from PIL import ImageGrab
from pynput.keyboard import Key, Listener
import threading
from pynput import keyboarddelay = random.uniform(2.0, 3.0)
time.sleep(delay)  # 设定模糊匹配的阈值
threshold = 20# 获取所有窗口
all_windows = gw.getAllWindows()# 用于存储匹配的窗口
matched_windows = []# 模糊匹配游戏窗口并将其添加到匹配列表中
for window in all_windows:# 比较窗口标题与游戏关键词的相似度similarity = fuzz.ratio(window.title, '天龙八部')if similarity >= threshold:matched_windows.append(window)# 在匹配列表中选取相似度最高的窗口
if matched_windows:matched_windows.sort(key=lambda w: fuzz.ratio(w.title, '天龙八部'), reverse=True)game_window = matched_windows[0]# 将窗口置顶game_window.activate()running = True# 处理按键按下事件
def on_press(key):global running# 检测到按下了Home键if key == keyboard.Key.home:print("继续运行脚本")running = True# 检测到按下了End键if key == keyboard.Key.end:print("暂停运行脚本")running = False# 创建键盘监听器
listener = keyboard.Listener(on_press=on_press)# 创建线程并启动监听器
thread_stop = threading.Event()
listener_thread = threading.Thread(target=listener.start)
listener_thread.start()# 在循环中持续运行脚本# -----------------------功能点1:查找游戏并置顶窗口--------------------------------------------------def is_pixel_color_1(x, y, color1):pixel_color = pyautogui.pixel(x, y)if pixel_color == color1:return Trueelse:return Falsedef is_pixel_not_color_2(x, y, color2):pixel_color = pyautogui.pixel(x, y)if pixel_color == color2:return Trueelse:return Falsedef is_pixel_not_color_3(x, y, color3):pixel_color = pyautogui.pixel(x, y)if pixel_color == color3:return Trueelse:return Falsedef is_pixel_not_color_4(x, y, color4):pixel_color = pyautogui.pixel(x, y)if pixel_color == color4:return Trueelse:return Falsedef is_pixel_not_color_5(x, y, color5):pixel_color = pyautogui.pixel(x, y)if pixel_color == color5:return Trueelse:return Falsedef is_pixel_not_color_6(x, y, color6):pixel_color = pyautogui.pixel(x, y)if pixel_color == color6:return Trueelse:return Falsedef is_pixel_not_color_7(x, y, color7):pixel_color = pyautogui.pixel(x, y)if pixel_color == color7:return Trueelse:return Falsedef is_pixel_not_color_19(x, y, color19):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color19:return Trueelse:return Falsedef is_pixel_not_color_18(x, y, color18):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color18:return Trueelse:return Falsedef is_pixel_not_color_17(x, y, color17):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color17:return Trueelse:return Falsedef is_pixel_not_color_16(x, y, color16):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color16:return Trueelse:return Falsedef is_pixel_not_color_15(x, y, color15):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color15:return Trueelse:return Falsedef is_pixel_not_color_14(x, y, color14):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color14:return Trueelse:return Falsedef is_pixel_not_color_13(x, y, color13):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color13:return Trueelse:return Falsedef is_pixel_not_color_12(x, y, color12):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color12:return Trueelse:return Falsedef is_pixel_not_color_11(x, y, color11):pixel_color = pyautogui.pixel(x, y)if pixel_color !=  color11:return Trueelse:return Falsedef is_pixel_not_color_10(x, y, color10):pixel_color = pyautogui.pixel(x, y)if pixel_color != color10:return Trueelse:return Falsedef is_pixel_not_color_20(x, y, color20):pixel_color = pyautogui.pixel(x, y)if pixel_color != color20:return Trueelse:return Falsedef is_pixel_not_color_21(x, y, color21):pixel_color = pyautogui.pixel(x, y)if pixel_color == color21:return Trueelse:return Falsedef is_pixel_not_color_22(x, y, color22):pixel_color = pyautogui.pixel(x, y)if pixel_color == color22:return Trueelse:return Falsedef is_pixel_not_color_23(x, y, color23):pixel_color = pyautogui.pixel(x, y)if pixel_color == color23:return Trueelse:return Falsedef is_pixel_not_color_24(x, y, color24):pixel_color = pyautogui.pixel(x, y)if pixel_color == color24:return Trueelse:return Falsedef is_pixel_not_color_25(x, y, color25):pixel_color = pyautogui.pixel(x, y)if pixel_color == color25:return Trueelse:return Falsedef is_pixel_not_color_26(x, y, color26):pixel_color = pyautogui.pixel(x, y)if pixel_color != color26:return Trueelse:return Falsedef is_pixel_not_color_27(x, y, color27):pixel_color = pyautogui.pixel(x, y)if pixel_color != color27:return Trueelse:return Falsedef is_pixel_not_color_28(x, y, color28):pixel_color = pyautogui.pixel(x, y)if pixel_color == color28:return Trueelse:return Falsedef is_pixel_not_color_29(x, y, color29):pixel_color = pyautogui.pixel(x, y)if pixel_color == color29:return Trueelse:return Falsedef is_pixel_not_color_30(x, y, color30):pixel_color = pyautogui.pixel(x, y)if pixel_color == color30:return Trueelse:return False# 在循环中持续运行脚本
while True:# while True:color1 = (255, 162, 150)  # 假设颜色1为红色color2 = (0, 255, 255)    # 假设颜色2为黑色color3 = (0, 248, 248)    # 假设颜色2为黑色color4 = (0, 255, 255)    # 假设颜色2为黑色color5 = (0, 255, 255)    # 假设颜色2为黑色color6 = (0, 255, 255)    # 假设颜色2为黑色color7 = (0, 255, 255)    # 假设颜色2为黑色color19 = (3,210,215)color18 = (2,225,228)color17 = (0,255,255)color16 = (0,249,250)color15 = (0,255,255)color14 = (2,222,225) color13 = (0,255,255)color12 = (0,246,246)color11 = (0,255,255) color10 = (0,239,239)color20 = (18,21,17)color21 = (219,248,119)color22 = (27,29,27)color23 = (22,24,22)color24= (27,29,27)color25= (10,13,10)color26= (255,162,150)color27= (255,162,150)color28= (231,211,123) #判断珍兽是否出战color29= (255,242,99)color30= (255,242,99)if running:# 在此处编写需要继续运行的脚本逻辑        
# 颜色1和颜色2的 RGB 值if is_pixel_color_1(278,52, color1) :   #  F1选怪,F2门派平推,有血打怪,没血换怪pyautogui.press('F2')delay = random.uniform(0.2, 0.3)time.sleep(delay)else:pyautogui.press('F1')#下面是放溪山行旅,设置里面勾选技能冷却,溪山行旅技能设置为F3,最好设置非聊天模式。if is_pixel_color_1(278,52, color1)  and  is_pixel_not_color_19(426,686, color19) and is_pixel_not_color_18(422,685, color18)  and    is_pixel_not_color_17(422,685, color17)  and    is_pixel_not_color_16(425,685, color16)  and    is_pixel_not_color_15(421,685, color15)  and    is_pixel_not_color_14(424,686, color14)  and  is_pixel_not_color_13(422,690, color13)  and    is_pixel_not_color_12(426,688, color12)  and    is_pixel_not_color_11(423,690, color11)  and    is_pixel_not_color_10(428,685, color10) :pyautogui.press('F3')delay = random.uniform(0.1, 0.2)time.sleep(delay)if is_pixel_not_color_2(495,109, color2) and is_pixel_not_color_3(490,159, color3):pyautogui.press('F1')delay = random.uniform(0.1, 0.2)time.sleep(delay)if is_pixel_not_color_4(543,108, color4) and is_pixel_not_color_5(439,161, color5):pyautogui.press('F1')delay = random.uniform(0.1, 0.2)time.sleep(delay)if is_pixel_not_color_6(492,88, color6) and is_pixel_not_color_7(524,141, color7):pyautogui.press('F1')delay = random.uniform(0.1, 0.2)time.sleep(delay)if  is_pixel_not_color_22(86,63, color22):  # 加蓝按F4delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F4')delay = random.uniform(0.2, 0.3)time.sleep(delay)        if  is_pixel_not_color_23(88,63, color23):   # 加蓝按F5delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F5')delay = random.uniform(0.2, 0.3)time.sleep(delay)   if  is_pixel_not_color_24(106,58, color24):   # 加血F6delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F6')delay = random.uniform(0.2, 0.3)time.sleep(delay)   if  is_pixel_not_color_25(109,58, color25):   # 加血按F7delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F7')delay = random.uniform(0.2, 0.3)time.sleep(delay)   if  is_pixel_not_color_26(170,100, color26)  and  is_pixel_not_color_28(94,132, color28):   #宝宝加血F8delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F8')delay = random.uniform(0.2, 0.3)time.sleep(delay)   if  is_pixel_not_color_27(180,100, color27)  and  is_pixel_not_color_28(94,132, color28):   #宝宝加血F9delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.hotkey('F9')delay = random.uniform(0.2, 0.3)time.sleep(delay)      if  is_pixel_not_color_29(408,205, color29)  and  is_pixel_not_color_30(413,188, color30):   #断线重连delay = random.uniform(6.0, 8.0)time.sleep(delay)pyautogui.moveTo(575,224, duration=0.5)pyautogui.mouseDown(575,224, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(575,224, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)if  is_pixel_not_color_20(692,667, color20):  #人物自动升级delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)     pyautogui.moveTo(458,474, duration=0.5)pyautogui.mouseDown(458,474, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(458,474, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)if  is_pixel_not_color_21(155,434, color21):  #关闭人物界面delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)pass# 添加适当的延迟以避免过于频繁的循环time.sleep(0.05)# 停止监听键盘事件
listener.stop()

自动回点代码:回点没出问题,只要坐标和延时没有问题就万事大吉,也可以写容错代码譬如出不去地府时加个判断即可。

# 1. 功能——自动切换天龙八部窗口,游戏可以被遮挡但不能最小化。
# 2. 游戏设置——虚拟机桌面1024x768,游戏1024x768 最大化,先速度有限,然后全部不勾选,非聊天模式
# 用处:内挂挂机,死亡地彻符回点(默认50次,可以继续加),断线重连,自动升级。
# 只支持地彻符,放F6上面隐藏栏,传送坐标为打开地彻符最后一个位置(默认一页10个第10个定位回点位置)

# -*- coding: utf-8 -*-
# 1. 功能——自动切换天龙八部窗口,游戏可以被遮挡但不能最小化。
# 2. 游戏设置——虚拟机桌面1024x768,游戏1024x768 最大化,先速度有限,然后全部不勾选,非聊天模式
# 用处:内挂挂机,断线重连,自动升级。
# 只支持地彻符,放F6上面隐藏栏,传送坐标为打开地彻符最后一个位置(默认一页10个第10个定位回点位置)import pygetwindow as gw
from fuzzywuzzy import fuzz
import pyautogui
import time
import random
from PIL import Image
import keyboard
from PIL import ImageGrab
from pynput.keyboard import Key, Listener
import threading
from pynput import keyboarddelay = random.uniform(1.0, 2.0)
time.sleep(delay)  # 设定模糊匹配的阈值
threshold = 20# 获取所有窗口
all_windows = gw.getAllWindows()# 用于存储匹配的窗口
matched_windows = []# 模糊匹配游戏窗口并将其添加到匹配列表中
for window in all_windows:# 比较窗口标题与游戏关键词的相似度similarity = fuzz.ratio(window.title, '天龙八部')if similarity >= threshold:matched_windows.append(window)# 在匹配列表中选取相似度最高的窗口
if matched_windows:matched_windows.sort(key=lambda w: fuzz.ratio(w.title, '天龙八部'), reverse=True)game_window = matched_windows[0]# 将窗口置顶game_window.activate()running = True# 处理按键按下事件
def on_press(key):global running# 检测到按下了Home键if key == keyboard.Key.home:print("继续运行脚本")running = True# 检测到按下了End键if key == keyboard.Key.end:print("暂停运行脚本")running = False# 创建键盘监听器
listener = keyboard.Listener(on_press=on_press)# 创建线程并启动监听器
thread_stop = threading.Event()
listener_thread = threading.Thread(target=listener.start)
listener_thread.start()# 在循环中持续运行脚本# -----------------------功能点1:查找游戏并置顶窗口--------------------------------------------------def is_pixel_not_color_20(x, y, color20):pixel_color = pyautogui.pixel(x, y)if pixel_color != color20:return Trueelse:return Falsedef is_pixel_not_color_21(x, y, color21):pixel_color = pyautogui.pixel(x, y)if pixel_color == color21:return Trueelse:return False    def is_pixel_not_color_1(x, y, color1):pixel_color = pyautogui.pixel(x, y)if pixel_color == color1:return Trueelse:return Falsedef is_pixel_not_color_11(x, y, color11):pixel_color = pyautogui.pixel(x, y)if pixel_color == color11:return Trueelse:return Falsedef is_pixel_not_color_12(x, y, color12):pixel_color = pyautogui.pixel(x, y)if pixel_color == color12:return Trueelse:return Falsedef is_pixel_not_color_29(x, y, color29):pixel_color = pyautogui.pixel(x, y)if pixel_color == color29:return Trueelse:return Falsedef is_pixel_not_color_30(x, y, color30):pixel_color = pyautogui.pixel(x, y)if pixel_color == color30:return Trueelse:return False# 在循环中持续运行脚本
while True:# while True:color20 = (18,21,17)color21 = (219,248,119)  color1 = (255,211,49)color11 = (37,37,37)color12 = (37,37,37)color29= (255,242,99)color30= (255,242,99)if running:# 在此处编写需要继续运行的脚本逻辑        
# 颜色1和颜色2的 RGB 值if  is_pixel_not_color_1(1008,145, color1) :   #  如果内挂为黄色时开启内挂,pyautogui.moveTo(1008,145, duration=0.5)delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseDown(1008,145, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(1008,145, button='left')delay = random.uniform(0.3, 0.5)pyautogui.moveTo(100,145, duration=0.5)time.sleep(delay)if  is_pixel_not_color_29(408,205, color29)  and  is_pixel_not_color_30(413,188, color30):   #断线重连delay = random.uniform(6.0, 8.0)time.sleep(delay)pyautogui.moveTo(575,224, duration=0.5)pyautogui.mouseDown(575,224, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(575,224, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)if  is_pixel_not_color_11(385,262, color11) and is_pixel_not_color_12(385,262, color12) :   #  自动回点,pyautogui.moveTo(589,264, duration=0.5)delay = random.uniform(2, 3)time.sleep(delay)pyautogui.mouseDown(589,264, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(589,264, button='left')delay = random.uniform(5.0, 6.0)time.sleep(delay)pyautogui.press('tab')delay = random.uniform(0.5, 1.0)time.sleep(delay)pyautogui.moveTo(907,325, duration=0.5)pyautogui.mouseDown(907,325, button='left')pyautogui.mouseUp(907,325, button='left')     
#                pyautogui.doubleClick(907,325)pyautogui.mouseDown(907,325, button='left')pyautogui.mouseUp(907,325, button='left')     pyautogui.mouseDown(907,325, button='left')pyautogui.mouseUp(907,325, button='left')      delay = random.uniform(3, 4)time.sleep(delay)pyautogui.press('tab')delay = random.uniform(0.5, 1.0)time.sleep(delay)               pyautogui.moveTo(79,270, duration=0.5)pyautogui.mouseDown(79,270, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(79,270, button='left')                delay = random.uniform(5, 6)time.sleep(delay)         pyautogui.moveTo(528,643, duration=0.5)pyautogui.mouseDown(528,643, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(528,643, button='left')                delay = random.uniform(0.5, 1.0)time.sleep(delay)         pyautogui.moveTo(601,529, duration=0.5)pyautogui.mouseDown(601,529, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(601,529, button='left')                delay = random.uniform(0.5, 1.0)time.sleep(delay)         pyautogui.moveTo(652,599, duration=0.5)pyautogui.mouseDown(652,599, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(652,599, button='left')                delay = random.uniform(0.5, 1.0)time.sleep(delay)         pyautogui.moveTo(525,488, duration=0.5)pyautogui.mouseDown(525,488, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(525,488, button='left')                delay = random.uniform(5, 6)time.sleep(delay)         if  is_pixel_not_color_20(692,667, color20):  #人物自动升级delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)     pyautogui.moveTo(458,474, duration=0.5)pyautogui.mouseDown(458,474, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(458,474, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)if  is_pixel_not_color_21(155,434, color21):  #关闭人物界面delay = random.uniform(0.2, 0.3)time.sleep(delay)pyautogui.moveTo(133,708, duration=0.5)pyautogui.mouseDown(133,708, button='left')delay = random.uniform(0.1, 0.2)time.sleep(delay)pyautogui.mouseUp(133,708, button='left')delay = random.uniform(0.3, 0.5)time.sleep(delay)pass# 添加适当的延迟以避免过于频繁的循环time.sleep(0.05)# 停止监听键盘事件
listener.stop()

更多推荐

利用chatgpt写python前台游戏脚本天龙怀旧

本文发布于:2024-03-12 09:12:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731179.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:前台   脚本   游戏   chatgpt   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!