- 1 名前:名前は開発中のものです。 [2019/01/14(月) 03:57:54.21 ID:BfjgfhbB.net]
- フリーのベルトアクション作成ツールBeatsofrageでオリジナルの
ベルトアクションを製作するスレッドです。 ime.nu/senileteam.segaforums.com/ なかったので立て直しました
- 280 名前:名前は開発中のものです。 mailto:sage [2022/02/27(日) 20:33:11.90 ID:ofDNDNVo.net]
- >>279
mod レスキューコマンド2やトラブルインサウスタウンなどで 使われてますね、仕組みとしては 掴み側の敵の攻撃が成功したら、レバガチャ用のentityを喰らったプレイヤーにbindしてます。 レバガチャentityはプレイヤーのレバーとボタン入力をスクリプトで検知して 自身のhealthを減らし、0になったら消滅するので脱出成功。 掴んだ側の敵は、delayなどで一定時間待ち時間を
- 281 名前:名前は開発中のものです。 mailto:sage [2022/02/27(日) 20:37:32.32 ID:ofDNDNVo.net]
- 経過したら、攻撃コマンドを実行させるというもの。
プレイヤーを掴むときはスクリプトのslamstart〜positionコマンドで拘束します。 実際にmodをプレイしたほうがわかり易いかもw
- 282 名前:名前は開発中のものです。 mailto:sage [2022/02/27(日) 21:01:29.27 ID:ofDNDNVo.net]
- script @script
void main() { void self = getlocalvar("self"); void attacker = getentityproperty(self,"parent"); void victim2 = getentityproperty(attacker, "opponent"); void victim = getentityproperty(victim2, "playerindex"); int HP = getentityproperty(self,"health"), HPmax = getentityproperty(self,"maxhealth"); int x1 = getentityproperty(attacker,"x"), z1 = getentityproperty(attacker,"z"); if(HP>=HPmax){ changeentityproperty(victim2, "position", x1, z1); performattack(victim2, openborconstant("ANI_FREESPECIAL")); setidle(attacker, openborconstant("ANI_IDLE")); bindentity(victim2, NULL()); performattack(attacker, openborconstant("ANI_PAIN")); setentityvar(self, "madjon", NULL()); killentity(self); } else if(playerkeys(victim, 2, "moveleft")){ // Left is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(victim, 2, "moveright")){ // Right is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(victim, 2, "attack")){ // Attack is pressed? changeentityproperty(self, "health", HP+2); } else if(playerkeys(victim, 2, "jump")){ // Jump is pressed? changeentityproperty(self, "health", HP+6); } } @end_script これが心臓部で、レバガチャEntityのヘッダー部に記述すると、このEntityが存在しているあいだ実行され続けます。 で、Anim Idleにレバガチャの画像を表示させればOK、上のスクリプトだと、Healthを増やしてMaxHealthまで行ったら脱出ですね。
- 283 名前:名前は開発中のものです。 mailto:sage [2022/02/27(日) 21:07:55.32 ID:ofDNDNVo.net]
- レバガチャEntityが出現するとき(Anim Spawn)、NPCやOBSTACLEを掴んだら
自動で消滅するようになっていますね。 anim spawn @script void self = getlocalvar("self"); void atk = getentityproperty(self,"parent"); void vtm = getentityproperty(atk, "opponent"); changeentityproperty(self, "health", 1); if(getentityproperty(vtm, "type")==openborconstant("TYPE_NPC") ||getentityproperty(vtm, "type")==openborconstant("TYPE_OBSTACLE")) { killentity(self); } @end_script
- 284 名前:名前は開発中のものです。 mailto:sage [2022/02/27(日) 21:51:12.10 ID:ofDNDNVo.net]
- 別のテストのときの動画なので、ちょっと混沌として分かりずらいですが
レバガチャの様子がが映ってたので参考になれば。 tu.be/V4o4JU56YFU
|

|