Как правильно указать путь к игре SAMP для лаунчера игры на Python
import tkinter as tk
import subprocess
import os
from tkinter import messagebox, filedialog
class GTALauncher:
def __init__(self, master):
self.master = master
master.title("GTA San Andreas Launcher")
master.geometry("400x200")
self.label = tk.Label(master, text="Запустите GTA San Andreas", font=("Arial", 14))
self.label.pack(pady=10)
self.path_label = tk.Label(master, text="Путь к игре:")
self.path_label.pack(pady=5)
self.path_entry = tk.Entry(master, width=40)
self.path_entry.pack(pady=5)
self.browse_button = tk.Button(master, text="Обзор", command=self.browse_file)
self.browse_button.pack(pady=5)
self.nickname_label = tk.Label(master, text="Никнейм:")
self.nickname_label.pack(pady=5)
self.nickname_entry = tk.Entry(master)
self.nickname_entry.pack(pady=5)
self.launch_button = tk.Button(master, text="Запустить игру", command=self.launch_game)
self.launch_button.pack(pady=10)
self.quit_button = tk.Button(master, text="Выход", command=master.quit)
self.quit_button.pack(pady=5)
def browse_file(self):
file_path = filedialog.askopenfilename(title="Выберите исполняемый файл игры", filetypes=[("Executable files", "*.exe")])
if file_path:
self.path_entry.delete(0, tk.END)
self.path_entry.insert(0, file_path)
def launch_game(self):
ip_address = "194.93.2.226"
port = "2054"
game_path = self.path_entry.get()
nickname = self.nickname_entry.get()
if os.path.exists(game_path):
if nickname:
command = f'"{game_path}" -c -n "{nickname}" -h {ip_address} -p {port} -loadsamp'
try:
subprocess.Popen(command, shell=True)
except Exception as e:
messagebox.showerror("Ошибка", f"Не удалось запустить игру: {e}")
else:
messagebox.showerror("Ошибка", "Пожалуйста, введите никнейм!")
else:
messagebox.showerror("Ошибка", "Не удалось найти файл игры!")
if __name__ == "__main__":
root = tk.Tk()
launcher = GTALauncher(root)
root.mainloop()
Имеется код на Python, надо чтобы программа запускала SAMP сервер при нажатии кнопки запустить игру, я указываю путь к samp.exe, он у меня открывается и сразу краш, что можно сделать в данной проблеме чтобы решить ее?