☆ベルトアクション作成 Beats of rageスレッド☆ (658レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
280: 名前は開発中のものです。 [sage] 2022/02/27(日) 20:33:11.90 ID:ofDNDNVo >>279 mod レスキューコマンド2やトラブルインサウスタウンなどで 使われてますね、仕組みとしては 掴み側の敵の攻撃が成功したら、レバガチャ用のentityを喰らったプレイヤーにbindしてます。 レバガチャentityはプレイヤーのレバーとボタン入力をスクリプトで検知して 自身のhealthを減らし、0になったら消滅するので脱出成功。 掴んだ側の敵は、delayなどで一定時間待ち時間を http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/280
281: 名前は開発中のものです。 [sage] 2022/02/27(日) 20:37:32.32 ID:ofDNDNVo 経過したら、攻撃コマンドを実行させるというもの。 プレイヤーを掴むときはスクリプトのslamstart〜positionコマンドで拘束します。 実際にmodをプレイしたほうがわかり易いかもw http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/281
282: 名前は開発中のものです。 [sage] 2022/02/27(日) 21:01:29.27 ID:ofDNDNVo 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まで行ったら脱出ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/282
283: 名前は開発中のものです。 [sage] 2022/02/27(日) 21:07:55.32 ID:ofDNDNVo レバガチャ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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/283
284: 名前は開発中のものです。 [sage] 2022/02/27(日) 21:51:12.10 ID:ofDNDNVo 別のテストのときの動画なので、ちょっと混沌として分かりずらいですが レバガチャの様子がが映ってたので参考になれば。 tu.be/V4o4JU56YFU http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/284
285: 名前は開発中のものです。 [sage] 2022/02/28(月) 02:55:23.68 ID:T0w0iYnz >>280-284 ぐおおおおお!お手間取らせました、すみません! やっぱり簡単にはいかないんですね…全く理解が及びませんw 少しずつやってみようと思います、ありがとうございましたm(_ _)m http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/285
286: 名前は開発中のものです。 [sage] 2022/02/28(月) 18:49:21.11 ID:e4RME2GR >>285 mod トラブルインサウスタウンの data/chars/misc/grab/grab1.txt に上のレバガチャentityがあります。 基本 >>251 のようなslamスクリプトと一緒に混ぜて使います。 modをプレイして動作を実感したあと、entityのtxtやスクリプトを 覗いたほうが理解しやすいかも? txtをコピーしてキャラ画像を差し替えてみたりとか。 私は良く関係無い画像を表示させて、しおりというか目印にしてますw http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/286
287: 泥酔迷走スーパーラリー [sage] 2022/02/28(月) 20:37:06.80 ID:ya7gt2me ファイルが大きすぎる上に投げ抜けできた試しがないので Bad SchoolGirlsの ひなたとかの方が良くないですかね? 受付時間がひどいですけど http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/287
288: 泥酔迷走スーパーラリー [sage] 2022/02/28(月) 21:05:31.57 ID:ya7gt2me 545c . com /f/13296827-500775648-7a875b (空欄3個) パス? afeidanji http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/288
289: 名前は開発中のものです。 [sage] 2022/03/01(火) 02:54:01.00 ID:49Ib5jCa >>287 さんの MODでも同じような(原型一緒)処理なので、 入手し易い方で大丈夫です。 投げ抜けの難易度に関しては Data/Scripts/escript.c などに void spawngrab(void vName, float fX, float fY, float fZ,int HPgv, int Num2, int Num) こんな感じで、投げ抜けようのBindスクリプトが用意してあって、 float X Y Z はそのまま座標 int HPgv にセットしたパラメーターが例えば200なら、 レバー(左右)とボタン(アタック・ジャンプ)を合計200回ていどガチャガチャしないとです。 int Num2は{1}か{2}で投げ抜けた時の双方リアクションの選択、 int Numは謎、setentityvarで収納してますがGrab1では参照してる箇所がないので 他の場所のフラグでしょうか。 @cmd slamstart @cmd spawngrab "grab1" 200 200 1 150 2 8 @cmd position 0 30 60 1 0 @cmd depost 0 @cmd throw 40 1 5 1 0 0 こんな感じで差し込んで使うことになるかと思います。 Depost〜 Throw〜 までの間に 待ちFrame を制限時間としてはさみます。 試してませんが Delay 3000 とかでもいいのかも。 Hurt〜をはさんで、抜けるまでジワジワダメージでも良いかもしれません。 構造を知ってしまえば単純なことなんですが、それを思いつく方々の発想の柔軟さに敬服します。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/289
290: 名前は開発中のものです。 [sage] 2022/03/04(金) 03:31:38.49 ID:y6oPXV1f キャラクタの登場が大爆発だったり、specialアタックが天空高くヒップアタックだったり 謎のシュールさが良い味のmodを提供している、 G.P.Smith氏がHAG+3というmodを上げてらしたんで、 もしやと思ってプレイしてみましたが元のmodはHAGv5.0のようです。 v5.0とv6.0の違いはプレイアブルキャラだけのようですが、 剣を持ったWWがプレイヤーキャラだったりと中々カオスですw スクリプト無しでかなり軽いんで人気なんですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/290
291: 名前は開発中のものです。 [sage] 2022/03/04(金) 07:39:18.87 ID:vVdcxQXF もう少しだけヒントを 是非お願いします! http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/291
292: 名前は開発中のものです。 [sage] 2022/03/04(金) 08:56:57.17 ID:vVdcxQXF 284様ありました! 情報ありがとうございます! http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/292
293: 天堂少女6.0探しています [sage] 2022/03/04(金) 10:31:25.42 ID:cEKsJ0D+ 天堂少女6.0探しています ありがとうございます!やってみたけれども Dボールの嫁(18gou)さんとかB.jenetさんとかがいなかった 本物はキャラクター10人超えているはずで難易度セレクト的なものがあるはずです これら本物?(中華)にしかない素材の断片をずっと探していたのですよね でもなかなかうまくいきませんね http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/293
294: 天堂少女6.0探しています [sage] 2022/03/04(金) 11:12:53.78 ID:cEKsJ0D+ もしも見つけていたら更なるヒントを願っています http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/294
295: 天堂少女6.0探しています [sage] 2022/03/04(金) 16:23:19.06 ID:cEKsJ0D+ スミスちゃんはコウちゃん作品使っていた?というよりもむしろ ほかの人の作品をアップしすぎです(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/295
296: 名前は開発中のものです。 [sage] 2022/03/05(土) 08:00:40.28 ID:p49CKOCm KOH氏の特徴のあるキャラ動作までよく似てますね。私はキャラのモチーフの選定センス(こより等)と愛のあるグラフィックでKOH氏のファンです。 Smith氏の「細かい事はいいから勢いと爆発だ」的なセンスも好きです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/296
297: 名前は開発中のものです。 [sage] 2022/03/06(日) 03:35:38.26 ID:D4DSTBj4 お手本MODとしてかなり有名かと思います、CrimeBustersを480x270に対応させようと いろいろ弄ってみましたが、どうやら既にあるっぽい?半分諦めムードw せっかく作ったのでステージ1の動画(音声無し)。 P1とP2の操作コンフィグを同一に設定して擬似2Pプレイ。 tu.be/dgHMFoynmAg http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/297
298: 名前は開発中のものです。 [sage] 2022/03/10(木) 01:37:04.97 ID:iC7iqZ0i そういえばピヨリみたいなのって作れるんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/298
299: 名前は開発中のものです。 [sage] 2022/03/11(金) 03:47:02.05 ID:aFe4cfAL >>298 考え方によるのですが、 ムゲンのようなガチ対戦がからむものは、ちゃんと作ったほうが良いのでしょう。 OpenBoRは基本乱戦メインのサイドスクローラーが多いので、大雑把で良いと思います。 作ろうと思えば、ピヨリ値的なものが蓄積していって MAX近くになった際に大きい攻撃力がヒットしたらピヨる というようなものは手間の割りに効果が見えにくいので(専用エフェクト作れば良いのですが) プレイヤーのFreespecialなどで、Attack9はピヨリ技というように決めておき 喰らう側の Pain9にピヨリAnimを設定しておくのが手っ取り早いのではないでしょうか。 こうする場合は Models.txtに <MaxAttackTypes {int} で上限(初期4上限99) を増やしておかないといけません。 ちょっと違いますが Attack {x} {y} {width} {height} {ダメージ} {吹き飛び} {防御不能} {エフェクト表示無し} {硬直時間} {Z攻撃範囲} これを Attack 0 0 100 50 10 0 0 0 60 0 とすれば 攻撃がヒットすれば60フレーム分硬直します。 他にも Attackコマンドのすぐ下に Stun 3などと記述すれば3秒間硬直します。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/299
300: 名前は開発中のものです。 [sage] 2022/03/11(金) 05:25:36.84 ID:/kzpLClR ダウン、動けない、追撃、拘束系 挽歌くにお等みたいに細かい事ができるものは殆ど無い見たことが無いです openborはどうでしょうか くにお等はバックドロップや馬乗りも印象的でした http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/300
301: 名前は開発中のものです。 [sage] 2022/03/11(金) 11:57:25.86 ID:UqoUjlxU >>299 ピヨリ値蓄積みたいなのをやりたかったんですけどやっぱ複雑ですか… ピヨリ専用のリアクションいいかも知れません、ありがとうございました! http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/301
302: 名前は開発中のものです。 [sage] 2022/03/12(土) 01:40:59.64 ID:eSAMRvJC OpenBoR の内部の変数、 getlocalvar("self")など、よく見るかと思います。 すごく大まかに分けて localvar と globalvar というのがあって 読んで字のごとく local は一時的 global はlocalに比して長期的に数値を保持しておけます なので int piyopiyo =0; 攻撃を受けるたび piyopiyp += piyopiyo; setglobalvar(getlocalvar("self")+"PIYO", piyopiyo); な感じで Anim Fallに if(getglobalvar(self+"PIYO") => 100) { ピヨリAnimに跳ぶ} 的な事はできるかも? 馬乗りはスクリプト Slamで追撃はFindtargetでプレイヤーの向いている方向の180ドットくらいを調べて そのターゲットがFall中なら、攻撃Animへの移行とかすれば良いかもしれませんね。 SoR2XなどのMODでやってたような? 蛇足ですが相手に攻撃が当たっているのが確定なら(didhitscriptとか)、 void tar = getlocalvar("damagetaker"); int enextanim = getentityproperty(tar, "nextanim"); int enextthink = getentityproperty(tar, "nextthink"); changeentityproperty(tar, "nextanim", enextanim +100); changeentityproperty(tar, "nextthink", enextthink +100); こんな感じにすることで+100で0.5秒程度、ダメージを与えた敵を 完全に硬直させる事ができます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/302
303: 名前は開発中のものです。 [sage] 2022/03/23(水) 01:49:53.63 ID:YS0aCHsY アニメカオスやHAGなど話題に上っていたので、私も”みたいなもの”を作りたいなと思いたち、 何もギミックなど無く、ただ敵を適当に配置してボスまで10分程度のステージ。 しかもステージリソースなどは他の方が作成したものをお借りさせて頂いてるのに、 それでも3日以上かかるという、自身のセンスの無さに辟易。 いくつか実験的なことをしてるとはいえ、混沌としてしまい、たびたびプレイヤーを 見失う事になる悲惨な構成。ただキャラをバラ撒くだけでもこんなに難しいとは。 まあある意味カオスだしいっか。 ステージ構成の〜.txt中でも@scriptで各種Entity(敵とかNPCとか何でも)をTossEntityで ステージに放り込んだりできるのは発見でした。 ExecuteAnimationやPerformAttackなどで、ステージ登場時に特定の動きも させられます。動画の最初に敵が跳びこんで来るのとか。 tu.be/DZkZLRIJmxk http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/303
304: 名前は開発中のものです。 [sage] 2022/03/23(水) 02:14:49.64 ID:YS0aCHsY spawn ninja flip 1 map 1 coords -200 200 @script void main() { void self = getlocalvar("self"); performattack(self, openborconstant("ANI_Attack1")); tossentity(self, 3, 3, 0); } @end_script at 600 こんな感じで記述すると、{Entity}Ninjaが anim Attack1の体勢で Y(a)3,X3,Z0の勢いで跳び込んできます。 void self = getlocalvar("self"); changeentityproperty(self, "TYPE", openborconstant("type_NPC")); changeentityproperty(self, "Hostile", openborconstant("type_ENEMY")); changeentityproperty(self, "Candamage", openborconstant("type_ENEMY")); こんなのを記述すれば敵をNPCに(逆も)できます。結構便利。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/304
305: 名前は開発中のものです。 [sage] 2022/03/23(水) 03:42:34.71 ID:YS0aCHsY 意外と知られて無いのかも? anim attack ではなく、コマンドのattackでattack4と記述して、このattack4が相手にヒットした場合、 ヒットした相手にanim pain4やanim fall4などが存在していれば、 そのanimが優先して実行されます。 スクリプトslamstartなんかは、これを利用して専用ヤラレを表現してるんですね。 attackコマンドには一緒に記述することで、他にも特別な動作をさせるサブコマンドがあるので DCマニュアルで調べてみると面白いです。 よく使う吹き飛びの距離を変化させるdoropvとか、 forceDirectionとstunを組み合わせると、相手を振り返らせてそのまま硬直させるとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/305
306: 名前は開発中のものです。 [sage] 2022/03/23(水) 07:46:06.96 ID:YS0aCHsY doropv ミス dropv Y X Z 高さ 幅 奥行 に吹き飛ばす方向の調整attack コマンドと一緒に使用 面白いのがDOT 多分ダメージオーバータイムの略で、指定したダメージを 一定時間と回数(5ダメージを1秒に1回3秒間など)、ヒットした相手に与える。 OTG オンザグラウンド?anim fall等で地面に倒れている相手にもattackがヒット、 ただし倒れている相手にBBoxを設定する必要があります。 結構沢山の要素が設定できるので、標準コマンドでもかなりの事が出来ますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/306
307: 名前は開発中のものです。 [sage] 2022/03/24(木) 08:53:50.15 ID:SUDjzvRe DCマニュアルとうのは >>2 の上段のサイトのことですね。 英語ですが、ディープL先生に訳してもらえば かなりの情報が得られると思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/307
308: 名前は開発中のものです。 [] 2022/03/24(木) 09:06:51.52 ID:SUDjzvRe 最初はスクリプトなど意識せず、初代BoRのモデル設定Txtなどを読んだり、 プレイヤーキャラや敵等のHealthを100から200にするだけでも、かなりバランスが変わるのが分かると思います。 登場キャラや設定も少なめで基本はシッカリしてるので、構造が分かり易くエディットをミスしてバグっても、追いやすいというのもあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/308
309: 名前は開発中のものです。 [sage] 2022/03/27(日) 01:42:21.92 ID:HrM0WEsM 倒れている敵に追撃できないか? 簡単に作る場合は、Anim FreeSpecial などの コマンド Attack にOTGを設定して 置けばよいのですが、喰らう敵側の Anim Fall に BBoxを設定しておかないと 当然のごとく攻撃は当たりません。 通常のAnim Attack に スクリプトで FindTarget して、そこで取得できた敵のX,Y,Z とプレイヤーのX,Y,Zを比較して、攻撃が届く距離なら コマンド PerformAttack で ダウン攻撃Animに移行すればよいわけですが、この場合も、 敵側のAnim Fallには BBoxの設定が必要です。 あとは、FindTarget して、距離を測るまでは一緒で、見つけた敵を強引に スクリプト SlamStart で拾って、あとはよしなに。 もともと1対1の戦闘はそれほど考慮されていないので(それならムゲン) 特定の敵の情報を得るのは FindTarget、Opponent、DamageTaker くらいしか 私は知りませんので、なんとかそれでやりくりしてます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/309
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 349 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s