Pages

Subscribe:

Labels

2019年5月28日 星期二

[模擬市民4自製模組]進階教學 - Python製作腳本模組

如果已經讀過[模擬市民4自製模組]教學列表的基礎教學,並了解模擬市民4基本運作方式,甚至具備Python或其他編程基礎,那麼可以開始學習如何使用Python製作腳本模組(Script Mod)。這篇教學將會說明如何建立編程模擬市民4模組的Python環境,但不會教學如何撰寫Python。

#more#

腳本模組是什麼?

模擬市民4製作團隊使用Python製作模擬市民4,同時也在模擬市民4官方論壇提供Pythont重新編譯腳本,自2018年10月開始的版本號1.46,Python全面更新為3.7版

相對於*.package屬於取代類型的模組,亦有透過修改遊戲內部程式的腳本模組,而過去腳本模組是.*py和.*pyc格式,然而模擬市民4相較於前作幾代在自定義物件和MOD這方面相當通融,後續版本更新推出*.ts4script格式,方便玩家和模組製作者管理。

下載安裝Python和PyCharm

Python
[版本]3.7.0
[官網]下載版本「Windows x86-64 executable installer」

PyCharm
[官網]下載版本「Community」

PyCharm是由jetbrains開發的Python第三方編程軟體,也可以直接使用官方Python去撰寫,仍然建議使用PyCharm,因為介面跟功能比較容易使用。

設定模擬市民4腳本模組專案

使用反編譯腳本將遊戲程式反編譯出來,透過反編譯出的Python程式作為基礎去了解模擬市民4整個遊戲的運作,反編譯的程式可以在S4S下載。
建立製作模組環境必須具備下列:
進行基本的專案設定:
  1. 開啟(File→Open)下載並解壓縮的專案,Sims 4 Python Script Workspace (3.7).zip
  2. 接著進入設定(Settings)→Project InterpreterAddSystem Interpreter→選擇Python 3.7的安裝位置
  3. 按下OK設定完成


反編譯模擬市民4的Python程式

一樣使用先前下載的專案Sims 4 Python Script Workspace (3.7).zip
  1. 開啟settings.py,並修改內容。
    creator_name = 改成模組製作者名字
    mods_folder = 改成Mods資料夾的位置
    game_folder = 改成模擬市民4遊戲的位置
  2. 執行(Run)decompile_all.py,然後等待執行視窗出現「process finished with exit code 0」表示反編譯完成。


編寫Python腳本:作弊碼sims4.commands

S4S提供的專案Sims 4 Python Script Workspace (3.7)也包含了一個範例的Python腳本,第一次撰寫腳本的話,可以藉由這個範例,測試環境有沒有建立完成以及試著打包一個*.ts4script。
「My Script Mods→Example Mod」的example_mod.py,腳本的內容如下:
import sims4.commands

@sims4.commands.Command('myfirstscript', command_type=sims4.commands.CommandType.Live)
def myfirstscript(_connection=None):
    output = sims4.commands.CheatOutput(_connection)
    output("This is my first script mod")

由於這個腳本要寫出可以使用的作弊碼,所以第一行import sims4.commands,必須先載入模擬市民4相關的作弊碼腳本,而這個Python檔案是「EA/core/sims4/commands.py」,接著在第三行和第四行定義函式以及玩家要輸入的作弊碼:
@sims4.commands.Command('作弊碼', command_type=sims4.commands.CommandType.Live)
def 函式名稱(_connection=None):

由於只是測試腳本,所以第五行和第六行,寫成「如果玩家輸入作弊碼之後,就跳出一行文字」,首先在第五行把output的程式從sims4.commands調出來用,然後第六行撰寫要跳出的內容:
output = sims4.commands.CheatOutput(_connection)
output("跳出的文字內容")
撰寫完成後儲存檔案,準備打包成*.ts4script。

打包成*.ts4script

腳本模組的格式實際上是壓縮檔,只是將格式後綴改為模擬市民4可以解析的格式,依照以下部分就能製成*.ts4script:
  1. 使用7z的壓縮檔製作軟體把編寫完成的*.py和*.pyc,製作成壓縮檔*.zip。
  2. 將檔名的.zip改成.ts4script
或是直接使用Sims 4 Python Script Workspace (3.7).zip附帶的compile.py執行打包:
  1. 撰寫完成的*.py檔案放在「My Script Mods→Example Mod→Script」資料夾底下
  2. 執行(Run)compile.py,進行打包
  3. 之後得到*.ts4script檔案


延伸閱讀

[模擬市民4自製模組]教學列表
Getting Started with Python Scripting
General Modding - For absolute beginners with no clue: Making a simple script that gets the town's population.
List of TS4 Tools / Documentation

2 則留言:

  1. 哇,我在S4S論壇都找不到Sims 4 Python Script Workspace(3.7)ZIP,居然在板主這邊找到了,感謝。

    回覆刪除
    回覆
    1. 它的載點連結被夾在圖片和文字中間,我第一次看也不小心略過了哈哈;我附上的也是原文的連結,在原文搜尋「PyCharm Starter Project」可以找到

      刪除