スクリプト開発
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
* はじめに [#i8ee35b9]
&imgfolder(16/world_go.png); [[Simutrans-Squirrel-APIリフ...
Simutransでは,Squirrel(すくわーる)というスクリプト言語...
Squirrelの言語仕様については以下が参考になります.
&imgfolder(16/world_go.png); [[Squirrel本家>http://www.sq...
&imgfolder(16/world_go.png); [[Squirrel 3.0 Reference Man...
&imgfolder(16/world_go.png); [[Squirrel 2.1 リファレンス...
* AIプレイヤー [#s74f7f35]
&imgfolder(16/world_go.png); [[AI interface>http://dwachs...
* シナリオ [#s19b9901]
[[設定ファイル/シナリオ]]を参照してください.
* ツール [#m6886100]
**[プレイヤー向け] スクリプトツールの導入のしかた [#l4925...
この節は非開発者向けにスクリプトツールの導入方法を説明す...
***準備(初回のみ) [#jb73de96]
+実行ファイルがあるディレクトリから見て,script/tool_base...
+pak/config/menuconf.tabで,dialog_tool[34]にキーを割り当...
***配布されているツールの導入方法 [#hefcfdf2]
+配布されているツールをダウンロードし,zipを解凍します.
+解凍してできたフォルダまるごと, pak/tools/ に配置します.
ツールの配置は,Simutrans本体を再起動しなくても反映されま...
** 呼び出しかた [#q7ec6505]
スクリプトツールの動作には,simutrans/script/にtool_base....
スクリプトツールは,以下2通りの呼び方で呼び出せます.
- dialog_tool[34](スクリプトツールの読込)を使う ... pak...
- メニューバーでアイコンを選択する ... 予めdescription.ta...
** 必要なファイル [#n9c8e55c]
スクリプトツールには,以下の2つのファイルが必要です.
- tool.nut ... Squirrelコード本体
- description.tab ... 設定ファイル(plain text)
ツールの名前を「my_tool」とするとき,2つのファイルはとも...
pak-something/tool/mytool/
に配置します.
toolディレクトリにはpakファイルは配置できません.pakファ...
pak-something/
ディレクトリ直下のみです.
** description.tab [#g7214b1a]
description.tabは,ツールのタイトルやタイプなどを定義する...
|RIGHT:~title|Name of tool to be shown in tool selection ...
|RIGHT:~type|one_click or two_click|
|RIGHT:~tooltip|ツールバーのアイコンに表示される説明文|
|RIGHT:~restart|0のとき,メニューバーから呼び出されたツー...
|RIGHT:~menu|アイコンをツールバーに表示させるための,menu...
|RIGHT:~icon|Name of cursor object (loaded from some pak-...
|RIGHT:~cursor_area|カーソルサイズ(x,y).サイズは(1,1)...
|RIGHT:~cursor_offset|カーソル中心のオフセット(x,y).r9...
description.tabの例(=の前後に空白文字がないことに注意)
title=my_tool
type=one_click
tooltip=A scripting tool for testing
restart=0
menu=my-tools
icon=one_click_test
cursor_area=3,4
cursor_offset=1,2
この場合,menuconf.tabで
toolbar[X][Y]=scripts(my-tools)
(X,Yは適当な数字)のように,menuパラメータの値を指定す...
icon=one_click_test
となっているので,pak-something/直下のcursor.one_click_te...
*** menu項目の命名規則 [#ofd8c8fb]
''&color(#ff0000){以下の命名規則は、nightly版r9534及びOTR...
description.tabのmenu項目は,ツールバー定義に基づいて指定...
例えば,地上線路を建設するスクリプトであれば,地上線路ア...
menu=ways(2,0)
と記述してください.
鉄道用駅舎を建設するスクリプトであれば,
menu=buildings(34,2)
となるでしょう.
スロープツールに関連したスクリプトは,
menu=slope
を用いてください.
ツールバー定義の書式は, [[設定ファイル/menuconf.tab#q56b...
scriptツール対応のmenuconf.tabを作るときは,各ツールバー...
toolbar[3][0]=general_tool[17],27,q,1 #Remove Way
toolbar[3][1]=ways(1,0)
toolbar[3][2]=scripts(ways(1,0))
toolbar[3][3]=ways(1,1)
toolbar[3][4]=scripts(ways(1,1))
toolbar[3][5]=general_tool[14],,s,1
スロープツールのツールバーでは,下のように記述してスクリ...
toolbar[1][0]=scripts(slope)
** tool.nut [#mf7c696e]
&imgfolder(16/world_go.png); [[Tool interface>http://dwac...
&imgfolder(16/world_go.png); [[Tool only functions>http:/...
1クリックツールの場合は
-bool init (player_x pl) ... ツール起動時に呼ばれる関数
-bool exit (player_x pl) ... ツール終了時に呼ばれる関数
-string work (player_x pl, coord3d pos) ... クリックされ...
2クリックツールの場合は
-bool init (player_x pl)
-bool exit (player_x pl)
-string do_work (player_x pl, coord3d start, coord3d end)
-void mark_tiles (player_x pl, coord3d start, coord3d end)
-void is_valid_pos (player_x pl, coord3d pos, coord3d st...
を実装します.
一部の関数のみ記述した場合でも動作しますが,ユーザーのsim...
**その他Tips [#l8898588]
スクリプトツールは,ネットワークゲームにおけるpak一致検査...
スクリプトツールまでの&color(#ff0000){パスに全角文字が入...
その他のコーディング上のノウハウについては[[スクリプト開...
*ツールの試作品を貼るコーナー [#q6664af6]
''&color(#ff0000){スクリプトツールの動作には,simutrans/s...
tool_base.nutは,standard 122.0以降に同梱されています.[[...
nighlty r10077で更新されています。継ぎ足し環境の場合、r10...
|[Type]Title/題名|Author/作者|Date/投稿日|h
|Thumbnail/画像|Game Versions/対応Ver.|Download/ダウンロ...
|>|>|Comment/コメント|h
|~海面浅くするクン|ひめし|2021/10/3 第三版に更新|
|&ref(make_sea_shallow_tmb.png,nolink);|122.0〜|&re...
|>|>|海の深さを浅くして高架などを建てられるようにするスク...
|~ワンクリックでタービン型JCT|ひめし|2020/10/25|
|&ref(turbine_jct_tmb.png,nolink);|122.0〜|&ref(tur...
|>|>|ワンクリックで26x22マスのタービン型JCTを建設するスク...
|~ひめしツールキット|ひめし|2021/4/14 v3に更新|
|&ref(tmb_hm_toolkit.png,nolink);|122.0〜|[[ダウン...
|>|>|線路や駅舎などをワンクリックで建設するツールを簡単に...
|~らくらく景観線路|ひめし|2020/11/17|
|&ref(tmb_rakuraku_keikan.png,nolink);|122.0〜|[[ダ...
|>|>|線路のFront / Backを手動で切り替えることなく上の画像...
|~ワンクリック国鉄型配線|きたすみなるみん|2020/11/28|
|&ref(scr_KSN-script_JNR-style-station_set01.png,nolink);...
|>|>|国鉄型配線をワンクリックで建設するスクリプトです。&b...
|~トンネル入口スロープツール|下市|2020/12/05&br;2021/12/2...
|&ref(tunnel_entrance_slope.png,nolink);|122.0〜&br...
|>|>|tile_height=8のpakset(pak.nipponなど)で平行な地平...
|~人口らくらく増やすくん|下市|2020/12/05&br;2021/07/26 v2...
|&ref(./increase_population.jpg,nolink,450x275);|122.0...
|>|>|ワンクリックで指定した人口まで増やします。&br;v2.0か...
|~ワンクリック駅アプローチ配線セット(分岐方向指定タイプ景...
|&ref(scr_KSN-script_STA-ENT-forETrail_set001.png,nolink)...
|>|>|駅前後の配線をワンクリックで建設するスクリプトです。...
|~駅統計取得ツール|大和階梯|最終更新 2021/05/23|
|&ref(station_statistics_thumbnail.png,nolink);|OTRP29.5...
|>|>|マップ内の駅の乗降客者数ランキング等の各種統計情報を...
* AIプレーヤー [#ge2728e6]
|[Type]Title/題名|Author/作者|Date/投稿日|h
|Thumbnail/画像|Game Versions/対応Ver.|Download/ダウンロ...
|>|>|Comment/コメント|h
|~AIプレーヤー α版|koa|2022/05/12|
|画像なし|123.0.1~|&ref(sqai_koa_v02_1.zip);|
|>|>|デフォのAIは2都市間の路線しか作らない、公共駅があっ...
終了行:
#contents
* はじめに [#i8ee35b9]
&imgfolder(16/world_go.png); [[Simutrans-Squirrel-APIリフ...
Simutransでは,Squirrel(すくわーる)というスクリプト言語...
Squirrelの言語仕様については以下が参考になります.
&imgfolder(16/world_go.png); [[Squirrel本家>http://www.sq...
&imgfolder(16/world_go.png); [[Squirrel 3.0 Reference Man...
&imgfolder(16/world_go.png); [[Squirrel 2.1 リファレンス...
* AIプレイヤー [#s74f7f35]
&imgfolder(16/world_go.png); [[AI interface>http://dwachs...
* シナリオ [#s19b9901]
[[設定ファイル/シナリオ]]を参照してください.
* ツール [#m6886100]
**[プレイヤー向け] スクリプトツールの導入のしかた [#l4925...
この節は非開発者向けにスクリプトツールの導入方法を説明す...
***準備(初回のみ) [#jb73de96]
+実行ファイルがあるディレクトリから見て,script/tool_base...
+pak/config/menuconf.tabで,dialog_tool[34]にキーを割り当...
***配布されているツールの導入方法 [#hefcfdf2]
+配布されているツールをダウンロードし,zipを解凍します.
+解凍してできたフォルダまるごと, pak/tools/ に配置します.
ツールの配置は,Simutrans本体を再起動しなくても反映されま...
** 呼び出しかた [#q7ec6505]
スクリプトツールの動作には,simutrans/script/にtool_base....
スクリプトツールは,以下2通りの呼び方で呼び出せます.
- dialog_tool[34](スクリプトツールの読込)を使う ... pak...
- メニューバーでアイコンを選択する ... 予めdescription.ta...
** 必要なファイル [#n9c8e55c]
スクリプトツールには,以下の2つのファイルが必要です.
- tool.nut ... Squirrelコード本体
- description.tab ... 設定ファイル(plain text)
ツールの名前を「my_tool」とするとき,2つのファイルはとも...
pak-something/tool/mytool/
に配置します.
toolディレクトリにはpakファイルは配置できません.pakファ...
pak-something/
ディレクトリ直下のみです.
** description.tab [#g7214b1a]
description.tabは,ツールのタイトルやタイプなどを定義する...
|RIGHT:~title|Name of tool to be shown in tool selection ...
|RIGHT:~type|one_click or two_click|
|RIGHT:~tooltip|ツールバーのアイコンに表示される説明文|
|RIGHT:~restart|0のとき,メニューバーから呼び出されたツー...
|RIGHT:~menu|アイコンをツールバーに表示させるための,menu...
|RIGHT:~icon|Name of cursor object (loaded from some pak-...
|RIGHT:~cursor_area|カーソルサイズ(x,y).サイズは(1,1)...
|RIGHT:~cursor_offset|カーソル中心のオフセット(x,y).r9...
description.tabの例(=の前後に空白文字がないことに注意)
title=my_tool
type=one_click
tooltip=A scripting tool for testing
restart=0
menu=my-tools
icon=one_click_test
cursor_area=3,4
cursor_offset=1,2
この場合,menuconf.tabで
toolbar[X][Y]=scripts(my-tools)
(X,Yは適当な数字)のように,menuパラメータの値を指定す...
icon=one_click_test
となっているので,pak-something/直下のcursor.one_click_te...
*** menu項目の命名規則 [#ofd8c8fb]
''&color(#ff0000){以下の命名規則は、nightly版r9534及びOTR...
description.tabのmenu項目は,ツールバー定義に基づいて指定...
例えば,地上線路を建設するスクリプトであれば,地上線路ア...
menu=ways(2,0)
と記述してください.
鉄道用駅舎を建設するスクリプトであれば,
menu=buildings(34,2)
となるでしょう.
スロープツールに関連したスクリプトは,
menu=slope
を用いてください.
ツールバー定義の書式は, [[設定ファイル/menuconf.tab#q56b...
scriptツール対応のmenuconf.tabを作るときは,各ツールバー...
toolbar[3][0]=general_tool[17],27,q,1 #Remove Way
toolbar[3][1]=ways(1,0)
toolbar[3][2]=scripts(ways(1,0))
toolbar[3][3]=ways(1,1)
toolbar[3][4]=scripts(ways(1,1))
toolbar[3][5]=general_tool[14],,s,1
スロープツールのツールバーでは,下のように記述してスクリ...
toolbar[1][0]=scripts(slope)
** tool.nut [#mf7c696e]
&imgfolder(16/world_go.png); [[Tool interface>http://dwac...
&imgfolder(16/world_go.png); [[Tool only functions>http:/...
1クリックツールの場合は
-bool init (player_x pl) ... ツール起動時に呼ばれる関数
-bool exit (player_x pl) ... ツール終了時に呼ばれる関数
-string work (player_x pl, coord3d pos) ... クリックされ...
2クリックツールの場合は
-bool init (player_x pl)
-bool exit (player_x pl)
-string do_work (player_x pl, coord3d start, coord3d end)
-void mark_tiles (player_x pl, coord3d start, coord3d end)
-void is_valid_pos (player_x pl, coord3d pos, coord3d st...
を実装します.
一部の関数のみ記述した場合でも動作しますが,ユーザーのsim...
**その他Tips [#l8898588]
スクリプトツールは,ネットワークゲームにおけるpak一致検査...
スクリプトツールまでの&color(#ff0000){パスに全角文字が入...
その他のコーディング上のノウハウについては[[スクリプト開...
*ツールの試作品を貼るコーナー [#q6664af6]
''&color(#ff0000){スクリプトツールの動作には,simutrans/s...
tool_base.nutは,standard 122.0以降に同梱されています.[[...
nighlty r10077で更新されています。継ぎ足し環境の場合、r10...
|[Type]Title/題名|Author/作者|Date/投稿日|h
|Thumbnail/画像|Game Versions/対応Ver.|Download/ダウンロ...
|>|>|Comment/コメント|h
|~海面浅くするクン|ひめし|2021/10/3 第三版に更新|
|&ref(make_sea_shallow_tmb.png,nolink);|122.0〜|&re...
|>|>|海の深さを浅くして高架などを建てられるようにするスク...
|~ワンクリックでタービン型JCT|ひめし|2020/10/25|
|&ref(turbine_jct_tmb.png,nolink);|122.0〜|&ref(tur...
|>|>|ワンクリックで26x22マスのタービン型JCTを建設するスク...
|~ひめしツールキット|ひめし|2021/4/14 v3に更新|
|&ref(tmb_hm_toolkit.png,nolink);|122.0〜|[[ダウン...
|>|>|線路や駅舎などをワンクリックで建設するツールを簡単に...
|~らくらく景観線路|ひめし|2020/11/17|
|&ref(tmb_rakuraku_keikan.png,nolink);|122.0〜|[[ダ...
|>|>|線路のFront / Backを手動で切り替えることなく上の画像...
|~ワンクリック国鉄型配線|きたすみなるみん|2020/11/28|
|&ref(scr_KSN-script_JNR-style-station_set01.png,nolink);...
|>|>|国鉄型配線をワンクリックで建設するスクリプトです。&b...
|~トンネル入口スロープツール|下市|2020/12/05&br;2021/12/2...
|&ref(tunnel_entrance_slope.png,nolink);|122.0〜&br...
|>|>|tile_height=8のpakset(pak.nipponなど)で平行な地平...
|~人口らくらく増やすくん|下市|2020/12/05&br;2021/07/26 v2...
|&ref(./increase_population.jpg,nolink,450x275);|122.0...
|>|>|ワンクリックで指定した人口まで増やします。&br;v2.0か...
|~ワンクリック駅アプローチ配線セット(分岐方向指定タイプ景...
|&ref(scr_KSN-script_STA-ENT-forETrail_set001.png,nolink)...
|>|>|駅前後の配線をワンクリックで建設するスクリプトです。...
|~駅統計取得ツール|大和階梯|最終更新 2021/05/23|
|&ref(station_statistics_thumbnail.png,nolink);|OTRP29.5...
|>|>|マップ内の駅の乗降客者数ランキング等の各種統計情報を...
* AIプレーヤー [#ge2728e6]
|[Type]Title/題名|Author/作者|Date/投稿日|h
|Thumbnail/画像|Game Versions/対応Ver.|Download/ダウンロ...
|>|>|Comment/コメント|h
|~AIプレーヤー α版|koa|2022/05/12|
|画像なし|123.0.1~|&ref(sqai_koa_v02_1.zip);|
|>|>|デフォのAIは2都市間の路線しか作らない、公共駅があっ...
ページ名: