プラグインの作成

Last-modified: 2022-04-24 (日) 19:46:29

Tag: 工事中
2FF7466A-6690-4F1D-92C7-7082E80999CD.png

 ここではプラグインの作成のしかたについて説明します。プラグインをマスターして好きな建物で町を埋め尽くしてしまいましょう。ここでは家や工場などの作り方を紹介します。
 飛行機や道路などの特殊なものをつくりたい場合は、一度ここに目を通したのちに番外編を見ながら作成してください。

準備する物

最低限必要なものです。

  1. jsonファイルを編集できるソフト(スマホ・パソコンどちらも可)
  2. 小さな絵(ドット絵)が書けるソフト(スマホ・パソコンどちらも可)
  3. ファイルマネージャーのアプリ(スマホ)
  4. 少しのプログラミングの理解度

このページを作成したすとらまはwindows10のパソコンで[1]に「visual studio code」を、[2]に「MSペイント」を使用しました。使用機種はアンドロイドです。

theotownのフォーラムによると、絵を書くソフトにはPixlyNovixがよく使われているみたいです。この2つはスマホアプリです。

ファイルマネージャーのアプリにはCXファイルエクスプローラがおすすめです。このファイルマネージャーはjsonの編集もできるため、かなり汎用性が高いアプリになります。

作り方

いよいよ作成の手順について説明します。手順はすとらまが実際に行ってうまくいった方法について説明するため、使うソフトが違うと手順が多少異なる恐れがあります。

 建物なんてどーでもええんや!飛行機が作りたいんや!って人はこちらへ

その1 絵の作成

まず絵を作成します。建物の大きさそれぞれにテンプレートがあります。ぜひ活用してください。

テンプレート一覧
1063_1x1_template_1.png1063_2x2_template_1.png1063_3x3_template_1.png1063_4x4_template_1.png1063_5x5_template_1.png1063_6x6_template_1.png
1x1_0.png2x2.png3x3.png4x4.png5x5.png6x6.png
1×12×23×34×45×56×6

上下どちらのテンプレを使っても大きさはかわりません。升目があったほうがいいという方は下のをお使いください。

このテンプレートはtheotownのフォーラムから引用したものです。
緑のほうの出典元
灰色のほうの出典元

編集者は古風なポストを作成しました
this_is_post.png
絵には背景透過が必要です。やり方がわからないという方はpeko stepというところでできるので、使ってみてください。地面を透過してしまうと、地面の部分がなくなり、水に浮いたような状態になってしまいます。


絵の名前はわかりやすい名前にしておきましょう。あとでjsonファイルに入力します。

その2 jsonファイルの作成

プラグインなどユーザーメイドなコンテンツのほとんどで立ちはだかる壁。それのほとんどってプログラムみたいなへんなやつだと思います。ここではできるだけ分かりやすく説明したいと思います。

まずここで編集者の作成したjsonを紹介します。

[{  "id": "Marsneko_post.1a",
"type": "residential",
"width": 1,
"height": 1,
"frames": [ {"bmp": "this_is_post.png"}]
"level": 1 }]

これで最低限です。一行ずつ説明します。

id

プラグイン固有のIDです。これが他と同じものは作ってもアプリを起動するさいに弾かれてしまいます。

"id": "ここにIDを挿入",

いいIDが浮かばない?ここの縦の文をコピペしてみて

ここの文字はページを読み込む度に変わります。

 
 
 
 
 
 
 
 
 
 
randommes の設置数は 10 が上限です。
randommes の設置数は 10 が上限です。

type

建物の種類を決めることができます。上にあげた例では、residentialとなっていますが、これは住居になります。

"type": "ここに以下の種類の一覧のなかのどれかを挿入",

種類の一覧

調査ちう

residential住居park公園harbor indfire brigade消防?
commercial商業sportスポーツharbor piereducation教育?
industrial工業public経営陣award記念建造物bus depot道路
farm農業religion宗教?energy発電?destroyed不明
water水道?medic病院?police警察?swat暴動鎮圧
decoration装飾buoyブイrailway station道路waste disposal廃棄物処理?
body disposal葬式?military軍事building不明category
notification不明groundterraindata
scripttemplate

?がついているものは番外編2にて作り方を紹介しています。

道路については番外編3にて作り方を紹介しています。

不明は何らかの分類はされているものの機能もなく、なんの分類かもわからないもの

width

横の大きさです。1で1マスになります。

"width": ここに数字を挿入,

height

縦の大きさです。基本的にwidthと同じです。

"height": ここに数字を挿入,

frames

テクスチャです。ここにさきほど書いた絵の名前を入力します。

"frames": [ {"bmp": "この範囲に絵の名前を挿入"}]

level

住民のレベルです。1~3まであります。

貧民中型裕福
123

"level": ここに1~3の数字を挿入

その他

上で紹介した他にもたくさんの項目を付け足すことができます。付け足すことでより詳細に建物の設定をしていくことができます。

その他

その他jsonに挿入できる必須でない項目です。
^がついているものは中身になにも書かれていません。調査中なものです。

author

プラグインを作った人の名前です。編集者は名前のスペルを一度間違えてしまいましたが、間違えても機能します。

"author": "ここに名前を挿入",

title

名前です。

"title":"名前",

名前の部分に文字を入力することで、建物の名前になります。日本語はできません。
Screenshot_20220313-211311.png
ニュートリートメントアイランドという名の家

text

説明文です。

"text":"文章",

文章の部分に文字を入力することで、「i」のボタンを押したときにでてくる説明文になります。しかし、日本語はできません。
Screenshot_20220313-211634.png
訳:これはSM-28 マチェーテです。

smoke

煙を出すことができます。

"smoke": [ {"id": "煙の種類","x": 数字,"y": -数字} ]

  • まず煙の種類を決めます。
    moku_moku.png
    フォーラムのスクショです。煙は上の画像の中から選びます。

  • 煙がでる場所を決めます。場所はxとyの場所に数字を挿入することで決めることができます。xとyは以下の画像を参考に挿入してください。
    omihooooon-1.png
    緑の点の部分から煙がでるようにします。
    xは横線の長さを示します。この画像の場合は42です。
    yは縦線の長さを示します。この画像の場合は5です。しかし、縦線を挿入するさいは必ず「-」を数字の前に挿入してください。さもないと煙が下からでます

編集者が作成した機関車
Screenshot_20220308-165623.png
煙がでるようになっている。この煙は「$smoke04」の煙。

animation

アニメーションです。

"animation":[ {"id":"1x2l", "x":9, "y":-4}, {"id":"1x2l","x":20, "y":-2}],

現在調査中…

^border frames

^edge frames

^edge border frames

^frames winter

^random frame

preview frames

建物のプレビューです。

"preview frames":[{"bmp":"画像の名前.png"}],

建物のプレビューを設定できるようになります。基本的に大きさの条件等はないものと思われます。400×400まで確認済み

プレビューを設定した様子
Screenshot_20220328-201929.png
実際の建物の見た目に関係なく画像が設定できるようになる。

needs*

設置に関するあれこれです。

"needs road":false,

道路が必要でなくなります。この項目がない場合はtrueなため道路が必要です。

"needs land":false,

水の上に設置できるようになります。しかし地面には設置できなくなります。この項目がない場合はtrueなため地面に設置できます。

"needs water":true,

地面の一部が水でないと設置できなくなります。イメージとしては小さいポンプ場そのもの。2マス以上の大きさでないと意味がない。この項目がない場合はfalseなため、一部水があると設置できません。

build time

建設日数です。

"build time":数字,

建物の設置に数字の日数だけかかるようになります。0でポン置きにできます。

influence *

効果範囲です。
番外編2を参照してください。

provide aspect *

効果人数です。
番外編2を参照してください。

^animated

price

値段です。

"price":数字,

数字の箇所に数字をいれると、その値段になります。この項目がない場合は、ものの大きさなどによって勝手に値段が決まります。

monthly price

維持費です。

"monthly price":数字,

数字の箇所に数字をいれると、月間維持費になり、毎月その値段がひかれます。この項目がない場合は月間維持費はかかりません。

  • をつけると月収になりますが、不正防止のためにどんなに数字を大きくしても1Tしか月収を得ることができません。フォーラムにて確認

^power

^water

^max count

draw ground

地面を透過できます。

"draw ground": true,

通常は建物の絵を作成するさい、地面を透過してしまうと、地面がなくなって水になります。しかし、この項目をいれることで地面を透過しても地面が水にならなくなります。

trueの場合falseの場合
yamano_22-03-11_16.05.11~3.pngyamano_22-03-11_16.04.16~3.png

rotation aware

建物の回転ができるようになります。

"rotation aware":true,

この項目がない場合はfalse(だめ)となっているため、回転することはできません。

"frames": [ {"bmp": "絵1.png"},{"bmp": "絵2.png"},{"bmp": "絵3.png"},{"bmp": "絵4.png"} ],

回転させたときに貼られる絵は上のように設定できます。
Screenshot_20220227-162513.png
回転することによって四色になったポスト。矢印で色が変えられるようになった。

^map color

^map color winter

^habitants

^workers

^auto build

^conductive

^super conductive

destroyable

燃えるかどうかです。

"destroyable":false,

falseにすると燃えなくなります。そのため、災害の火事をおこすこともできません。この項目がない場合はtrueなため、燃えます。少なくとも耐火性です

removeable

壊せるかどうかです。

"removeable":false,

falseにすると建物が壊せなくなります。ほんとになにしても壊せなくなります。でも実は隕石をぶつけたら壊せます。この項目がない場合はtrueなため、壊すことができます。

^meta

^fun

^upgrades

^add prices

^supports shoreline

^draw ground water

完成したら

動作の確認をし、ひとつのファイルにしていまいます。

動作確認

まずしっかり機能するか確認するために、ファイルマネージャーでプラグインが適用される場所に作成したファイルどもをコピーしにいきます。

メインストレージ/Android/data/info.flowersoft.theotown.theotown/files/plugins/sample

に作成したjsonと絵を貼り付けます。もとからあったファイルは削除しても問題ありません。

貼り付けたらtheotownを再起動してみましょう。プラグインの項目に作成したものがあったら成功です。

編集者が作成したポスト煙をはいてるけど気にしてはいけない
Screenshot_20220225-205702.png

マニフェストの作成

一つ一つのプラグインを区別するために必要なものです。主に公開するために作成しますが、特にそうする必要性のないものは、これ以降の作業は必要ありません。

編集者が作成したマニフェストです。

{
  "id":"this_is_STAVATTI-plugin",
  "version":1,
  "title":"STAVATTI",
  "author":"Marsneko",
  "thumbnail":"stavatti.png",
}

これで最低限です。一つずつ解説します。

id

idです。

"id":"ここに文字列を挿入",

基本的にjsonの作成の項目にあったものと同じでテキトウなものでもかまいません。

version

バージョンです。

"version":数字,

数字の箇所にプラグインのバージョンを挿入します。しかし毎回変えないとエラーになる訳ではありません。ずっと1でも大丈夫です。

title

タイトルです。

"title":"タイトル名",

ここでタイトル名を指定できます。ひらがななどの日本語にしてしまうとすべて?に置き換えられてしまうため、英数字を使ってください。

author

作者名です。

"author":"名前",

基本的にjsonの作成の項目にあったものと同じです。

thumbnail

サムネイルです。

"thumbnail":"画像名.png",

ここでサムネイルにする画像を指定します。なくても起動しますが、プラグインの項目に表示されなくなるため。必須になります。

その他

その他必須でないものです。

その他

調査中

編集者が作成したプラグイン
Screenshot_20220312-133659.png
完成するとこんな感じでサンプルプラグインでなくなります。

プラグインファイルの作成

これまでつくったファイルを一つのファイルにまとめ、公開できるようにします。

  1. まず歯車をタップし、コンソールを開きます
    Screenshot_20220312-134220~2.png
    この歯車のマークをおす。町からでも地域からどちらも可
    無題19_20220312140444.png
    一番下のコンソールを開く
    無題18_20220312140353.png
    コンソールの画面

  2. コンソールに文字を入力します。
    export:{dir:"フォルダ名"}
    とコンソールに入力し、実行します。フォルダ名の箇所は作成したファイルどもが入っているフォルダ名にしてください。

  3. filesにファイルが作成されます。
    「フォルダ名.plugin」というファイルが作成されていたら成功です。公開するさいはこのファイルを添付してください。

コメント

紹介用コメント欄

こちらは作ったものを紹介したいときに使ってください
PCでの紹介のしかた
すまほ(アンドロイド)での紹介のしかた

まずファイルを当ページに添付する必要があります。

  1. Screenshot_20220311-214331~2.png
    まずこのボタンを押して
    無題15_20220311214611.png
    枠で囲ってある場所をタップします。

  2. 無題17_20220311221912.png
    画面が変わったら、枠で囲ってある場所をおし、ファイルをアップロードをします。ファイルを選ぶさいに、プラグインがある場所に、権限の関係上いけない場合があります。なので別の場所(ダウンロード等)にコピーしておいてください。

  3. アップロードができたらコメントにて
&attachref(ファイル,nolink,);

と入力します。ファイルの部分には、先ほどアップロードしたファイル名を拡張子含めて入力してください。nolinkの箇所はそのままにします。

これでファイルをアップロードできます。アップロードするさいは、なにかしらの説明を付け加えた上で挿入してください

  • ここにあなたの自慢のプラグインとかを紹介してください。 -- すとらま 2022-02-25 (金) 22:04:44
    • 例:ポストのプラグインです。四色のポストが設置できるようになります。filepost.plugin -- すとらま 2022-03-12 (土) 21:12:01
    • 道路のてんぷれのやつをそのままプラグインにしましたfilediagonal.plugin -- すとらま 2022-04-10 (日) 13:04:47

通常コメント欄

こちらには情報提供とか感想や質問などをお願いします。

旧コメント欄
  • プラグインの作成に成功したのでページを作ってみました。いろいろなルール等まだ把握しきれてないので完成までしばらくかかります、 -- すとらま 2022-02-25 (金) 22:03:11
  • 作成ありがとうございます!自分は全然使わないので書いてくれて助かります -- division X? 2022-03-09 (水) 22:10:45
  • サムネイルはどんな処理してますか?スマホで作ってて、pcだと崩れるらしいのですが、 -- nnkkoo? 2022-03-25 (金) 22:15:25
    • 私はパソコンのmsペイントで作っりました。サムネは基本的に正方形にすれば崩れないと思います。 -- すとらま 2022-03-25 (金) 23:49:59
      • いちおうここに使ったやつのを乗せておきます。実はスペルミスしてることに後で気づいて恥ずかしいです…stavatti.png -- すとらま 2022-03-25 (金) 23:55:55
      • 外国のユーザーさんからAndroidは崩れてないとのことで、どうもiosとAndroidは互換性あるみたいです。100pくらいだとちょうど見やすいんですが、、フォーラムで資料さがしたんですが26×26推奨としかないんですよね、、σ( ̄~ ̄) -- nnkkon? 2022-03-28 (月) 08:36:08
      • https://cdn.wikiwiki.jp/to/w/theotown/プラグインの作成/::attach/4EDD814D-0B14-4710-861F-8C94279E9ADE.jpeg
        画像でるのかな
        ?予想だと一定の大きさをこえるとpcのみ崩れるみたいなんですが、 -- 2022-03-28 (月) 08:55:43
      • 建物自体のサムネだったんですね。まだそこまで調べることができていないのでわかりません。あとでちょっと試してみます。 -- すとらま 2022-03-28 (月) 14:38:53
      • 画像ののせかたは上の折り畳みにあるやり方でのせることができます。しっかり画像は確認できたので今回のやりかたでも大丈夫ですが、リンクからは画像はでませんでした。とりあえず添付してくれるだけでも大丈夫です。 -- すとらま 2022-03-28 (月) 14:42:49
  • 400×400の画像をパソコンにて作成し、サムネにしてみました。問題なく動作したのでおそらく大丈夫です。Screenshot_20220328-201929.png -- すとらま 2022-03-28 (月) 20:23:19
    • サムネに使った画像です。 File not found: "thumna" at page "プラグインの作成"[添付] -- すとらま 2022-03-28 (月) 20:24:50
      • みすthumna.png -- すとらま 2022-03-28 (月) 20:25:54
      • ごめんなさい、サムネイルではなく、preview framesの挙動についてですね。 -- nnkkoo? 2022-03-29 (火) 07:50:48
    • ありがとうございます!報告あったのが外人さんだし、pcだしで、うーん、謎だな。一応96pあたりで統一しよかな。 -- nnkkoo? 2022-03-29 (火) 07:47:28