Entityについて解説したい 5
いい加減雑になってきたEntity講座にようこそ
1度書いた下書きが消えた 悲しい
今回はKeyValueについてちょっと話します
Entityのページとかで最初の方にあるKeyValueの一覧
あれは何かって話なんですが、HammerでEntityのプロパティ開いたら出るやつです。
ついでにヘルプも開いておいた
設置したEntityの名称やらオプションやら設定するとこですね
SmartEditを外した時に出てくるのが正式なプロパティ名なのでSourcePawnからはそちらを使います。
ただ、この画面では全てのプロパティは表示されていないので、一部のプロパティをSmartEditを使わずにHammerから設定するにはKeyとValueをAddする必要があります。
まぁHammerからやる場合はSmartEditでやるだろうから関係ないかな…
SourcePawnからKeyValueを設定する関数はDispatchKeyValue、DispatchKeyValueFloat、DispatchKeyValueVector
それぞれString、Float、Vectorに対応。
DispatchKeyValue · sdktools_functions · SourceMod Scripting API Reference
DispatchKeyValueFloat · sdktools_functions · SourceMod Scripting API Reference
DispatchKeyValueVector · sdktools_functions · SourceMod Scripting API Reference
プロパティの型はEntityのページやヘルプを参照。実際にHammerで値を設定してみて何が入るか確認するのもいいと思う。
new ent = CreateEntityByName("prop_physics_override"); DispatchKeyValue(ent, "targetname", "prop_1"); DispatchSpawn(ent);
使い方と言うほどのものでもないけど、こんな感じでプロパティを設定できる。
作ったEntityに名前付けておけばFindEntityByClassnameで検索した時に特定が容易
CreateEntityByNameはそのまんまEntityを作成する DispatchSpawnしないとゲーム内に出現しないので注意
プロパティの設定はスポーン前でも後でもできるけど、スポーン前だと反映されないプロパティとかあるので
スポーン後にまとめてでもいいかもしれない。
CreateEntityByName · sdktools_functions · SourceMod Scripting API Reference
DispatchSpawn · sdktools_functions · SourceMod Scripting API Reference
次はEntPropの話するよ ようやく本題感ある