Как сделать изменение игрового никнейма и чтобы он сохранился?
Как мне сделать чтобы игрок вёл свой новый ник и чтобы он сохранился в каком нибудь документе или же в базе данных?
код:
from colorama import init, Fore #/
from colorama import Back #|
from colorama import Style #|
import msvcrt #|
import subprocess
import sys
import os
import time
#-----------Библы-----------------
os.system("title 〡ELauncher • Ядро: SCore")
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print(" ")
print("Выберите:")
print("1: Старт игры")
print("2: Выбор версии")
print("3: Настройка лаунчера")
print("4: Изменение игрового-никнейма")
def get_char():
return msvcrt.getch().decode('utf-8')
option = ""
current_directory = 'C:/ELauncher'
my_path = os.path.join(current_directory, 'start.bat')
while True:
key = get_char()
if key == "1":
option = "Начинаем играть!"
#print("Проверяю...")
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print("Проверяем...")
time.sleep(2.5)
print("Загружаем...")
time.sleep(2.5)
subprocess.run([my_path], check=False) # -jar OptiFine 1.18.2.jar shell=True,
time.sleep(2.5)
break
#time.sleep(2.5)
elif key == "2":
option = "Выбор версии"
print("Пункт «Выбор версии» в разработке :[")
elif key == "3":
option = "Настройка лаунчера"
print("Пункт «Настройка лаунчера» в разработке :[")
elif key == "q":
break
elif key == "4":
option = "Изменение игрового-ника"
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print("Введите новый ник:")
print(option)
Весь код которые я успел отредачить:
from colorama import init, Fore #/
from colorama import Back #|
from colorama import Style #|
import msvcrt #|
import subprocess
import sys
import os
import time
import getpass
import minecraft_launcher_lib
import json
#-----------Библы-----------------
os.system("title 〡ELauncher • Ядро: SCore")
# Запись ника в JSON файл
def save_name(username):
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
json.dump([username], file)
# Чтение ника из JSON файла
def load_name():
try:
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
settings = json.load(file)
return settings
except FileNotFoundError:
return []
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
# Загрузка ника из файла и вывод на экран
value_name = load_name()
print(f"Ваш никнейм: {value_name[0]}")
print(" ")
print("Выберите:")
print("1: Старт игры")
print("2: Выбор версии")
print("3: Настройка лаунчера")
def get_char():
return msvcrt.getch().decode('utf-8')
option = ""
current_directory = 'C:/ELauncher'
my_path = os.path.join(current_directory, 'start.bat')
while True:
key = get_char()
if key == "1":
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print("Введите ник:")
username = input(">")
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print("Ник: ", username, "выполняется вход...")
time.sleep(2.5)
#print("Проверяю...")
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" От создателей EscapeWorld〡Выбран сервер: SCreate")
print("Проверяем обновление...")
time.sleep(2.5)
print("Проверяем файлы...")
time.sleep(2.5)
subprocess.run([my_path, username])
time.sleep(2.5)
break
#time.sleep(2.5)
elif key == "2":
option = "Выбор версии"
print("Пункт «Выбор версии» в разработке :(")
elif key == "3":
option = "Настройка лаунчера"
print("Пункт «Настройка лаунчера» в разработке :(")
elif key == "q":
break
print(option)
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
Воспользуйтесь Json, удобно хранить и использовать записанные данные.
Вот небольшой пример:
import json
# Запись настроек в JSON файл
def save_settings(nickname, settings):
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
json.dump({nickname: settings}, file)
# Чтение настроек из JSON файла
def load_settings():
try:
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
settings = json.load(file)
return settings
except FileNotFoundError:
return {}
# Ввод никнейма
nickname = input("Введите ваш никнейм: ")
# Ввод настроек
settings = {}
settings['language'] = input("Выберите язык (русский\английский): ")
settings['theme'] = input("Выберите тему (светлая\темная): ")
# Сохранение настроек в файл
save_settings(nickname, settings)
print("Настройки сохранены успешно.")
# Загрузка настроек из файла и вывод на экран
value_settings = load_settings()
print(f"Настройки: {value_settings.get(nickname, 'не найдены')}")
Упростил пример:
import json
# Запись ника в JSON файл
def save_name(nickname):
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
json.dump([nickname], file)
# Чтение ника из JSON файла
def load_name():
try:
with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
settings = json.load(file)
return settings
except FileNotFoundError:
return ["Ошибка чтения Json"]
# Ввод никнейма
nickname = input("Введите ваш никнейм: ")
# Сохранение ника в файл
save_name(nickname)
print("Никнейм сохранён успешно.")
# Загрузка ника из файла и вывод на экран
value_name = load_name()
print(f"Ваш никнейм: {value_name[0]}")