關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)


3樓貓 發佈時間:2024-12-02 21:40:21 作者:Cpcio Language

前排提示:個人感覺有點麻煩不知道還有沒有簡便法子

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第0張

這種情況適用於直接修改啟動路徑或者覆蓋都不好使,仍然想入正玩盜的情況(樣例極少,我是隻見過九九九櫻空漢化組出現過這種問題)

基本思路:寫個程序,打開漢化文件,檢測本體關閉後結束程序就成,需要打包成exe

步驟:

創建一個python文件進行編輯(以下在vs code中舉例)

1.安裝psutil和pyinstaller庫

在終端中輸入以下內容

pip install pyinstaller

pip install psutil

若出現SSL問題,也可輸入以下內容:

(1)pip install psutil --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org

(2)pip install pyinstaller --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org

終端樣例:(在這個位置輸入)

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第1張

2.編寫代碼(鏈接大概率會沒,直接粘貼代碼到這了)

import os

import subprocess

import sys

import time

import psutil


def get_process_pid_by_name(program_path):

    for proc in psutil.process_iter(['pid', 'name', 'exe']):

        try:

            if proc.info['exe'] and program_path.lower() == proc.info['exe'].lower():

                return proc.info['pid']

        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):

            continue

    return None


def run_program():

    program_path_1 = r"漢化exe啟動路徑"

    program_path_2 = r"原nine_kokoiro啟動路徑"


    if not os.path.exists(program_path_1):

        return


    proc_1 = subprocess.Popen([program_path_1], stdout=subprocess.PIPE, stderr=subprocess.PIPE)


    pid_2 = None

    start_time = time.time()


    while time.time() - start_time < 30:

        pid_2 = get_process_pid_by_name(program_path_2)

        if pid_2:

            break

        time.sleep(1)

    else:

        return


    while pid_2 and psutil.pid_exists(pid_2):

        time.sleep(1)  


    sys.exit(0)


if __name__ == "__main__":

    run_program()


裡面只有兩項需要更改(更改路徑)

獲取路徑辦法(漢化遊戲不得在正版路徑下)

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第2張

以上內容全部結束後應當是這樣的:

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

嘗試運行,你會發現可以正常打開,且程序應當在關閉本體後終止。若不能則檢查之前步驟

3.打包:

首先終端中會給出你的目標目錄(比如此處C:\Users\lenovo-1>)

打開文件夾位置,將寫好的文件(.py)另存到該文件夾中

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

終端輸入

python -c "import psutil; print(psutil.__file__)"

獲取psutil庫的位置

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

得到後再輸入

pyinstaller --onefile --add-data "psutil路徑" 你編寫程序的文件名.py

這時候應當開始打包了(會輸出到目標目錄\dist中)

成功樣例

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張
關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張
關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

雙擊運行後你會發現可以正常啟動遊戲(附帶一個終端窗口,這個終端窗口不建議用命令去除,會出現警告信息,不美觀x)

4.最後將這玩意拖進common\nine_kokoiro裡,把原來的文件刪了(不刪也行,但是原啟動項至少得覆蓋掉),將新造的exe修改成nine_kokoiro.exe就ok

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

這時候就可以從steam啟動遊戲記錄時長啦

關於部分遊戲入正玩盜記錄時長的一種解決方案(如九九九)-第3張

ps:1.這個法子應該適用於任何遊戲入正玩盜其他方法都失效的情況下

2.有嘗試過不加psutil庫用tasklist,但是一直有bug,放棄


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com