MOD-item

Last-modified: 2018-03-01 (木) 19:28:31

■Base変更する場合
・バックアップを取っておく
□爆弾の画像を変える
King Arthur's Gold\Base\Entities\Items\Explosives
・爆弾のアニメーションは8枚からなっている(スペースで起動した後のアニメーション)
 ・上から下へとアニメーションする。
\King Arthur's Gold\Base\Entities\Materials
・素材(マテリアル)としてのデータ。店で購入時であふれた場合や、Cで捨てた場合はこちら 

■アイテムをショップに追加する方法

・Base\Entities\Industry\CTFShops に各ジョブのショップがある
 (どれがどの店なのかは画像を見ると見分けやすい)
・「.as」のファイルを開く
・「ShopItem@ s」で検索
・VehicleShopの場合、30行~35行目の下記部分をコピーしておく(カタパルト購入画面部分)
 
    {

		ShopItem@ s = addShopItem(this, "Catapult", "$catapult$", "catapult", "$catapult$\n\n\n"      + descriptions[5], false, true);
		s.crate_icon = 4;
		AddRequirement(s.requirements, "coin", "", "Coins", cost_catapult);
	}

・必要に応じて変更して、カタパルトとバリスタの間に貼りつけると自動的に挿入される
・他の店では、addShopItemの括弧()の中の最後のtrue(箱詰めするかどうか)、この部分が無いがコピペする際気にしなくて大丈夫
・s.crate_iconは箱詰めする場合のアイコン設定。下記参照だが箱詰めしないなら記載しない事

■long wood bowさんの発言参照(一部修正):
(一輪車MOD追加する場合)
店に追加するならBase\Entities\Industry\CTFShopsに店のプログラムがありますね
その中のフォルダを開いて、そこにasファイルがあるので(メモ帳などで)開きます
中の{}で区切られた、中身がShopItem@ sで始まる所がありますね
とりあえずここではVehicle Shop(攻城兵器)に追加するものとします
まず30行目から5行、これがカタパルトを店に追加する場所ですね、これをコピーして他の括弧{}に入らないように貼り付けてください
これをカタパルトとバリスタの間に入れれば店にはその間にアイコンが表示されます
次に、値を変えていくわけですが、以下を参考に変えてください。二重引用符"はこれは文字列であるという印なので消さないでください
{
ShopItem@ s = addShopItem(this, "Catapult(商品欄の真下に表示される文)", "$catapult$(テクスチャの値、おそらく$unicycle$で良いように出来てそうですが確認しときます)", "catapult(実際に売るもの、!のコマンドで出すときみたいに記載、たぶんここではunicycle)", "$catapult$(説明文の中のアイコン)\n(改行を表すエスケープ文字)\n\n" +(文字列を足すという意味) descriptions[5](説明文。これを二重引用符"で囲った文字列にすれば説明文がそれになる), false(できるだけインベントリにしまうかどうか), true(箱詰めするかどうか));
s.crate_icon = 4;(箱のアイコン。Base\Entities\Common\Sprites/MiniIcons.pngにあるアイコンで、左上から0番として右に1、2、3と番号が決まっている)
AddRequirement(s.requirements, "coin", "", "Coins"(この辺は要求アイテムそのもの関係なので省略), cost_catapult(ここを数字に変えればその数字の値段になる));
}
あとは、26行目のVec2fと書いてある部分の右、ここの2つの数字が店のGUIの大きさなので、ここを変えればいいはずです
ちゃんと教えられたかな・・・
とりあえずお手本を置いときますね
{
ShopItem@ s = addShopItem(this, "Unicycle", "$unicycle$", "unicycle", "$unicycle$\n\n\n" + "The vehicle that has only one wheel.", false, true);
s.crate_icon = 0;
AddRequirement(s.requirements, "coin", "", "Coins", 50);
}

※全部の箇所のs.crate_icon = 0;を0に設定してもいける?

■マップ上に最初から新しいアイテムを設置する

□LoderColor.asに新しいアイテム用の色を追加する
\King Arthur's Gold\Mods\tickets\Base\MapLoaders にある

http://www.peko-step.com/tool/tfcolor.html 相互変換用
・必要なデータは16進数の方なので上サイトで変換して用意する
・このサイトで表示されるデータは「#d050d0」の形なのでKAGのデータでは「♯」を「FF」に変える
・項目ごとに分かれているので他の行のデータ見てそれっぽいところに入れる(ブロックとか乗り物とか)

□BasePNGLoader.asを開く (long wood bowさんの発言参照)
その上でBasePNGLoader.asの301行(ちなみに94行あたりからアルファ値が255未満の時の動作が並んでる)以降にあるもし色が○○だったらこれを出現させる的なプログラムを追加すればいいかと思います
とりあえずこんな感じで変えればいいですかね
else if(pixel == color_unicycle)//もし色がこの色だったらという条件文
{
spawnBlob( map, "unicycle", offset, -1);//値は左からどこに出現するか(? このままでokそう)、何を出現させるか、出現位置の調整(これもそのまま?)、チーム
offsets[autotile_offset].push_back(offset);//出現位置の調整、たぶんこのままでOK
}

■bilderの建設費用を変更する
:\SteamLibrary\steamapps\common\King Arthur's Gold\Base\Entities\Characters\Builder
のCommonBuilderBlocks.as を変更

◇タブでページ分けする