☆ベルトアクション作成 Beats of rageスレッド☆ (658レス)
上下前次1-新
255: 名前は開発中のものです。 [sage] 2022/02/06(日) 19:09:19.03 ID:AZl7PJSN(1/2) AAS
>>251251(3): 名前は開発中のものです。 [sage] 2022/02/05(土) 02:10:42.29 ID:8GsEw0Lg(2/3) AAS
@cmd slamstart
@cmd position 0 30 60 1 0
@cmd depost 0
@cmd throw 40 1 5 1 0 0
@cmd clearlocalvar
使い方として、この辺はお約束の形になります。
void throw(int Damage, int Type, int Vx, int Vy, int Vz, int Face)
パラメータとして、ダメージ、攻撃のタイプ(1でOK)、投げる威力(横方向)
投げる威力(縦方向)、投げる威力(手前奥行き)、ターゲットの向き
基本的に掴み(slamstart、depost、clearlocalvar)とセットで使います。
打撃からの投げや、フィニッシャーなど、スクリプトのヴァリエーションで色々違うので、
お持ちのスクリプトファイルを覗いてみてみてください。
やっぱり@cmd throw じゃ相手の吹き飛びアニメは指定できないんですかね、二つめの数字をいろいろいじってもfall1かどこかのpainアニメの2種類にしかならないような…
ただやられボイスの有無で分けたいだけなのでこのままで行きます
>>253253(1): 名前は開発中のものです。 [sage] 2022/02/06(日) 04:48:23.88 ID:QP0uLAK6(1) AAS
>>249 さん
ファイナルファイトPCのスクリプトは覗いてないので、正確には言えませんが、
一般に出回っているSlam系スクリプトのThrowだけでは、
OpenBoRの標準コマンドTossEntityを補正するだけなので、リアクションの管理まではしていません。
基本、リアクションは 攻撃を受ける側で用意します。
なので突き詰めると結構面倒ですが、スクリプト側で ATK_NORMAL7とか
指定されてると思いますので、Anim Fall7 なんかに喰らいポーズを記述する訳です。
殆どのばあい無ければ 標準Anim のFall が再生されますので、完成までは適当で良いと思います。
基本、喰らいポーズの上下左右の画像パターンを用意(ペイントソフトで反転とか)すれば十分かと思います。
説明が下手でごめんなさい、ムゲンのキャラクターを弄ったことがあると想像しやすいかもしれませんね。
@cmd positionだとfall7のアニメで指定できますね、そこはなんとか自力で見つけたんですけどスクリプトで指定されてたのか…
そっち方面は全くの無知でした
お二方ともありがとうございました、勉強になりました!
256(1): 名前は開発中のものです。 [sage] 2022/02/06(日) 19:13:02.30 ID:AZl7PJSN(2/2) AAS
それともう一つ質問すみません
@cmd hurt でつかみ中のダメージを指定できる事は分かったんですが
相手の体力ゼロになったらアニメを終了させるという事はできるんでしょうか?
@script からの記述で条件を指定できそうではあるんですけど
もっとシンプルというか、型のような組み方がないものかどうか…
257(1): 名前は開発中のものです。 [sage] 2022/02/07(月) 02:41:00.79 ID:C5tY8wrD(1) AAS
>>256
だいたいの場合、こういうダメージを与えるスクリプトはOpenBoR のコマンド
damageentity(target, self, Damage, 1, openborconstant("ATK_NORMAL"))
を、スクリプト中に記述されてる事が多いです。
真ん中あたりに , 1, とありますが、これが 0 だと吹き飛ばさない事になります。
上記コマンドは Attack x1 y1 x2 y2 Damage 1 と同じ動作になります。
質問の Hurt については、正確には判りませんが、
大概、ターゲットのHealth が0になる場合は 1だけ残すとか
Depost などのターゲットをリリースするような処理をしていると思います。
スクリプトのTXTを覗いてみて、ATK_NORMALの部分が
ATK_NORMAL4 であれば ターゲット側にAnim Fall4 を用意すれば
お好みのダメージアニメにできる訳です。
258: 名前は開発中のものです。 [sage] 2022/02/07(月) 21:49:44.39 ID:CaBTj81S(1) AAS
>>257
またもご丁寧にありがとうございます
hurtでダメージ与えてゼロになったように見えても離れた後にピンピンしてたのはスクリプトで1になるよう指示されてたって事か…なるほどすぎる
全くの無知なんで覗いたりした事もなかったんですけどいろいろ情報ありそうですね、見てみます!
259: 名前は開発中のものです。 [sage] 2022/02/08(火) 03:58:34.24 ID:i16aZQLO(1) AAS
OpenBoR 標準のコマンドだと、攻撃中でも Health が 0になったらどうするか等
自動で計算してくれたりしますが、
スクリプトはなんでも自由に出来る分、ルールというか設定も全て指定してあげないとなりません。
左に投げるはずが、何故か右にとか頻繁にあります。
@cmd throw を使うときも、すぐ後に @cmd Clearlocalvar(変数クリア) をしておかないと
内部で設定が残ったままになり、軽く投げる設定の筈がとんでもない所にぶっ飛んだりw
まあ、単体で@cmd Throw を使うなら、標準の Attack コマンドに吹き飛ばし設定をして
次に Dropv で吹き飛ぶ方向を設定すれば、似たような効果を標準でも実行できます。
ChronoCrashだと何でも書いてあるんですが知ってて当たりまえ的な話題も多く、
Githubだともう訳判んないくらい技術的だし、
動画サイトのチュートリアルも音声英語ばっかでテキストじゃないから翻訳サイトも
役に立たないしでなかなか難しいですね。
まあ神経質にならずにエラーが出なかったラッキーくらいの感じで弄ると良いかもです。
260(1): 名前は開発中のものです。 [sage] 2022/02/08(火) 11:53:36.59 ID:T8ddwlg/(1) AAS
質問ばっかでほんとすみません…
投げとかで例えば手の部分だけ手前に表示したい、って時は>>2828(1): 名前は開発中のものです。 [sage] 2021/02/27(土) 02:45:28.85 ID:BZAtihYI(2/2) AAS
必死になってDCマニュアル読みこむより
過去に作られたシンプルなスクリプト
例)
void spawnEnt(void vName,void x,void z)
{
clearspawnentry();
setspawnentry("name", vName);
void ent=spawn();
changeentityproperty(ent,"position",x+openborvariant("xpos"),z+openborvariant("ypos"));
}
こんな感じのものを
~data/script/~に適当な名前(spawn00とか)で設定しておき
使いたいキャラの設定ファイルのヘッダー(上のほう)に
animationscript data/scripts/spawn00.c
と記入、
anim idle
frame data/chars/test/Test01.gif
@cmd spawnEnt "Test_spawn" 0 0 1
あとは上のように使いたい Animの Frameと一緒に書き込んでおけば
Test01が表示された時に Test_spawnが同時に表示されるというもの
?それなら最初からある CustEntityとかとSpawnFrameでいいんじゃ?
確かにAnimの中で一回だけ表示するならSpawnFrameなりで十分なのですが
複数回表示するときはFrameと@cmdセットで使えば、
いちいちFrameコマを数えたりしなくてすむのでなかなか便利です。
のやり方で手のgifを読ませればいいんでしょうか?
それともweaponですかね?
てか上から読んでるんですがこの情報量はありがたいですね
始めたばっかの素人で今のところ大部分が漠然とした理解ですけど…
261(1): 名前は開発中のものです。 [sage] 2022/02/09(水) 02:52:11.64 ID:FIV9SGUf(1/2) AAS
>>260 さん
質問から想像しますと、Weapon だと Animごと入れ替わってしまうので、
簡単なのは、パーツやエフェクトを BindEntity することだと思います。
bindentity(entity, target, int x, int z, int a, int direction, int bindanimation, int sortid)
パラメーターが沢山あって何がなにやらwとなりそうですが
上の方のレス >>5353(1): 名前は開発中のものです。 [sage] 2021/03/15(月) 23:34:43.67 ID:bg70rxpE(1/2) AAS
anim jumpforward
delay 12
offset 34 104
frame data/chars/karin/167.gif
@cmd clearspawnentry();setspawnentry("name", "test")
@cmd bindentity spawn() getlocalvar("self") 0 1 0 1 0 1
offset 34 104
frame data/chars/karin/168.gif
Bindentityが少し成功の兆し、上のAnimはジャンプ中にレバー前入れ攻撃
Attackコマンドは記述してないので、今は格好だけですが
"test”という名前のEntity(MODELS.txtで設定したもの)を同時に表示するというもの。
それなら Custentity testでSpawnframe 2とかで十分でしょ?
一応それでも十分な効果は得られるんですが、
それだと親Entity(仮)168.gifが移動すると、子Entity(仮)"test"が置き去りにされて
なんか間抜けになってしまいます。
がBindentityを使えば親と一緒に子も動くのです。さらに機能として、向きの調整や
子Entityに複数にAnimを記述しておけば、親と同じAnimを実行させる事ができるのです。
>>5454(1): 名前は開発中のものです。 [sage] 2021/03/15(月) 23:49:59.96 ID:bg70rxpE(2/2) AAS
bindentity(entity, target, int x, int z, int a, int direction, int bindanimation, int sortid)
これが基本の書式ですが、貼り付けるEntity、貼り付けられるTarget、
TargetのOffsetに対してX,Z,Aドット調整して表示、Directionは向きを合わせるか反対にするか常に同じ向きか、
少し分かり辛いのがBindanimationで上の例では貼り付けるEntity(子)のほうのAnimのFrameが終わったら
自然と消去される。1だとTarget(親)と同じAnimだけ実行。
2ならTarget(親)のFrame数ともリンクさせる(面倒そうだけど、上手くできたら凄そう)。
3は機能無しで、4はTarget(親)のAnimと常にリンクして動くEntity(子)にAnim Attack1など
設定しておけば、Target(親)がAnim Attackを実行したとき一緒に実行される、
一緒に実行できるAnimが無いと消滅(KillEntityされる)。この4の機能が面白いですね。
辺りが参考になるかも、
用意した entity を target に Bind させて bindanimation パラメーターを 4に設定すると
target と同じ Anim を entity が実行するんです。
target はメインのプレイヤーキャラとして enityは質問で言う 「手」になります。
sotid が 1だとtarget の手前に表示するという意味になるので、
なので、プレイヤーが Anim Grab を実行した際に 「手」にもAnim Grabが存在すると
sotid 1 なら手前に表示されるので、貼り絵のごとく、
手前に「手」奥にプレイヤーと掴んだ相手と表示されます。
@cmd clearspawnentry();setspawnentry("name", "test")
@cmd bindentity spawn() getlocalvar("self") 0 1 0 1 4 1
これを "test"は既にあるentityの名前で、プレイヤーキャラのAnim idle辺りに
記述すれば、イメージが掴めると思います。同じプレイヤーキャラだとエラー出ます。
"test"のとこは別キャラで実験してみてください。
262(2): 名前は開発中のものです。 [sage] 2022/02/09(水) 03:04:22.06 ID:FIV9SGUf(2/2) AAS
なんか、なに言ってんだ?状態ですね。
>>160160(4): 名前は開発中のものです。 [sage] 2021/06/13(日) 00:36:10.90 ID:54syd5Da(1/3) AAS
楽しい BindEntity
anim idle
loop 1
@script
if (frame == 0) {
clearspawnentry();
setspawnentry("name", "Ariel");
void vSpawn = spawn();
bindentity(vSpawn, getlocalvar("self"), -60, 0, 0, -1, 4, 1);
}
@end_script
これは、プレイヤーキャラが アイドリング状態になるたびに Arielというキャラを呼び出すもの
もちろんArielは自キャラ同様 MODELS.txtで設定しておく必要があります。
幾つか自キャラを選べるなら、そのうちの一つで良いのです。
ただし、呼び出すキャラと呼び出されるキャラ、ややこしいですね、上の例だと
Selfが親でArielが子になります。
書式は bindentity(entity, target, int x, int z, int a, int direction, int bindanimation, int sortid)
長いですね、entity(子)target(親)x,y,z(親の何処に表示するか)
direction(向き、0出現した時の向き、1親と一緒、2常に右、−2常に左)
bindanimation(子に親と同じAnimが設定されていると実行される)
sortid(重なった際に優先して表示されるか?なので、こだわり無ければ別に)
一番面白いのは bindanimation部分でしょうか、0何もせず、1親と同じAnimを実行
2親と同じAnimをFrame数までシンクロして実行、3は無くて
4は基本1で親と同じAnimが無ければEntity(上だとAriel)を消去(bindentity消去)
夢が広がるコマンドですね。
に詳しく載ってました。
>>230230(3): 名前は開発中のものです。 [sage] 2022/01/02(日) 17:52:59.47 ID:hMCLGhN2(1) AAS
本年も宜しくお願いいたします。
さて、上の方で Bindentityコマンドを利用して、例えばロボットキャラクターを
別パーツで動かす事も出来ると紹介しました。
実際に動かすとどのようになるか、実験動画をアップしましたので興味があったら
検索してみてください(お手数ですが;)。
[OpenBoR][BindEntity] でたぶんヒットします。
ちょうど少し上で話題に上がった LoRのシーン6で出現するキャラクターです。
おあつらえ向きにロボットタイプの敵ですが、アームパーツが攻撃時の時にしか描画されなかったものに
BindEntity をつかってAnim IdleやWalkにもアームパーツを描画させるようにしました。
これは本体のAnimとアームのAnim作成という2重の手間がかかりますが、
個人的にとても好きな表現ができます。
ただBindEntityの特性なのか、投げや吹き飛ばしで画面外に飛び出すと、アームのBindが
外れてしまうんですよね。
それがなければ Anim Spawnで一回処理するだけでよいのですが、動画ではAnim Fallで
KillEntityして、Anim Riseで再度BindEntityしなおしてます。
で検索して出てくる動画(1分程度、音声無し)に、
身体と腕が別な Entityで構成された敵がでてきます。
腕パーツのEntityには Anim attackやAnim idle、Anim Walkなどが用意してあって
身体パーツのEntity が動くと 腕パーツの同じAnimが実行されています。
263: 名前は開発中のものです。 [sage] 2022/02/09(水) 22:24:10.37 ID:3wZqpd99(1) AAS
>>261-262
うおーありがとうございます!>>160の通りにやったら無事成功しました
解説いただいたんで理解が深まりましたよ、何度もご丁寧にありがとうございました!
264: 名前は開発中のものです。 [sage] 2022/02/11(金) 02:59:45.13 ID:aG1kfbJs(1/3) AAS
すでにCrimeBustersやLadiesOfRageなど参考になる作品が挙がっていますが
MOD内のスクリプトや各Entityの動作なんかが素直で読みやすいと個人的に感じるのが
WorldHeroesSupremeJusticeExtraとか、RocketViper2Purificationなどで入手し易いと思います。
同じRocketViperでも最近のものはメニューやプレイヤーセレクトなどもスクリプト使いまくりで
派手で凄いですが、なにもそこまでって感じなので、
MOD作成のお手本としては少し古いものをお勧めします。
特にRocketViper2Purificationあたりは、ストーリー(アクション画面上で展開)や
背景のアニメーションなど、わかり易く作られています。一通り中身を覗いてみれば
漠然とした自分のやりたい表現の手段が見えてくるんじゃないかなー?と思います。
BurnigFoxSilverEditionあたりも良いかもしれません。
265: 名前は開発中のものです。 [sage] 2022/02/11(金) 18:41:50.61 ID:aG1kfbJs(2/3) AAS
すでにご存知の方も多いかと思いますが、ChronoCrashサイトにて
Piccolo氏が ToolKitを発表されています。
簡単に言えば、OpenBoR Statsです。
まだ試せてないですが、ムゲンのSFFやAIRファイルも読めるようです。
使用感としてはムゲンのFFのように、その場でAnimを再生したり
オニオンスキンが使えたりで、新鮮な気持ちでキャラ作成ができそうです。
266: 名前は開発中のものです。 [sage] 2022/02/11(金) 18:57:17.48 ID:aG1kfbJs(3/3) AAS
>>262 さん
ちょっとした表示だけなら
Subentity {entity}
SpawnFrame # x z y c
あと似たものにSummonFrame
#はそのAnimでのFrameを上から数えて何番目か x z y は座標、
cはキャラクターの画像の位置か、画面の左上を0として数えるかです。
これを使って{entity} を表示させる事ができるんですが、
この場合、キャラクターが移動すると
{entity} は画面上の最初に表示された位置に留まってしまいます。
エフェクトなんかには便利です。
SummonFrameを使った場合の違いは、呼び出したものを任意のタイミングで消せる事でしょうか。
呼び出したキャラが倒れたら一緒に消えるとかできます。
SpawnFrameだと{entity}にLifeSpan を設定しておかないと表示された場所に残り続けます。
267: 名前は開発中のものです。 [sage] 2022/02/15(火) 03:22:00.11 ID:XMpwbOyV(1) AAS
>>251 にあるスクリプトに @cmd dasher を組み合わせて
簡単に 相手を引きずって投げる 動作をさせてみました。
動画ではカクカクですが、もともとのキャラクターはムゲン用に作成されたものなので
スプライトが豊富でとてもスムーズに動いてます。
うちのPCが貧弱なのでコマ落ちしてますw
うちの環境ではPicclo氏のToolKitではAirファイルの変換は出来なかったので、
まだエディター部分以外はメニュー表示だけかもしれません。
まだ暫くはOpenBoR Stats0.53のお世話にならないとです。
268(1): 名前は開発中のものです。 [sage] 2022/02/17(木) 03:44:44.17 ID:PDHSLg1A(1) AAS
有名で入手し易い作品、InfinityWar
プレイアブルキャラも非常に多く、疎いのでちょっと判りませんが
きっと原作のキャラの特徴を捉えているんだろうなと感じます。
スプライトの枚数は少なくてもとても活き活きしているので
一度覗いてみると、とても参考になります。
特に、スクリプト部分では Updated.c 部分が Zoom (技を使うとき一瞬拡大)特化なので
必殺技のエフェクト時にどのように画面の一部を拡大してるか、わかり易いと思います。
Anim の中で Loop 1を設定して、@CMD で Velocityを 0 0 0 にすると浮きっぱなしになるのは
かなり参考になりました(Cancel 0 99 0 A Freespecial#などで離脱する手段が必要)。
269: 名前は開発中のものです。 [sage] 2022/02/19(土) 03:28:54.07 ID:9tJDMn9r(1/4) AAS
>>268 で、Anim中に Loop 1 など設定されていると
ChangeEntityProperty({Entity}, "Animation", openborConstant("ANI_Freespecial"))
など使って別なAnimを実行させようとしても抜け出せない事があります。
そんなときは、PerformAttackやExecuteAnimationを使う事になりますがそれでもだめな事があります。
Running # # # 1 1 などと設定されていると特にわかりやすいのが
Anim Run中に 一旦 Freespecial# に移行しても、また Anim Runに戻ってしまいます。
Anim Walkや Idleに戻ってしまうなど。
これはOpenBoRの仕様なのでどうしようもない面もあるのですが、
ChangeEntityPriperty({Entity}, "AIFlag", "Running", 0) とすると
Anim Runのループから抜け出せたり、同様にAnim Idleなら
ChangeEntityPriperty({Entity}, "AIFlag", "Idling", 0)
Walking、Jumping などなど、様々なAnim毎ににあります。
DCManualにもAIFlagに関してはほぼ載っていないので(私の探し方がわるいかも)、
いろいろな方の作られたスクリプトを覗くか、自分で総当りで試すしかなさそうです。
まあでも、IdleやRun、Jumpから抜け出せれば大概の事は足りるんじゃないでしょうか。
270: 名前は開発中のものです。 [sage] 2022/02/19(土) 03:40:05.66 ID:9tJDMn9r(2/4) AAS
私がよくやるのが、Anim Grabに
Cancel {startFrme} {endFrame} {0} {A2} Freespecial#
ex.: Cancel 0 99 0 A2 Freespecial1
と記述して、キャンセル技が出るようにすることです。
乱戦中、コマンド技を出そうして意図しないところでGrab状態になってしまい、
とっさにJumpボタン(Grab終了技(Anim_Attack3))を押せればよいのですが、
気付かずお見合いになって他の敵から攻撃を受けてしまうことがあります。
そんな時、GrabにCancelコマンドを記述しておけば、下・右・A2なんてコマンドの時
敵を掴んでしまってコマンド技が不発でも、Cancelが発動して、何らかの技が出せるようになるわけです。
まああ、Grab状態のときは BBox 0 で無敵にしておけばよい事なんですがw
271: 名前は開発中のものです。 [sage] 2022/02/19(土) 04:49:31.93 ID:9tJDMn9r(3/4) AAS
とても凄いスクリプトがChronCrashで発表されてます
2人でプレイしていた場合、画面のプレイヤーキャラが離れると
画面が分割されて表示されるというもの。
画面内にもう一つ画面を用意して、プレイの様子を映し出す演出は
RocketViper2等でもありましたが、プレイヤーの動きに合わせて
画面を分けるなんて凄い技術ですね。
272: 名前は開発中のものです。 [sage] 2022/02/19(土) 10:48:11.30 ID:9tJDMn9r(4/4) AAS
もう一つ同じKratus氏が上げてるzoomBoss も大変使い勝手が良いです。
特定の場所をアップ(zoom)にすることができるので、ボスに限らず
ステージの目標やゴールにも簡単に応用できます。
この方のように発想を道具(スクリプトライブラリ)と結びつけられる能力を一欠片でも欲しいw
273: 名前は開発中のものです。 [sage] 2022/02/20(日) 02:17:16.16 ID:4xgUpQdN(1) AAS
Kratus 氏の作成したスクリプト Zoom for Bosses を早速つかわせていただいて
動画にしてみました。
ついでに上のほうにあった ランダムな敵の出現スクリプトもテスト。
スクリプトは上手く動いてくれているのですが、WallやPlatformの設定がイマイチで
設定しても基本透明なので確認が難しいです。
if (openborvariant("count_enemies")<4) { 〜
この一行を足して、敵の数が 4以下になったら補充って感じで敵をスポーンさせます。
Level.txtのGroup {Min} {Max} と同じような感じになります。
274(1): 名前は開発中のものです。 [sage] 2022/02/24(木) 04:36:47.41 ID:Xp/HWEAz(1) AAS
そういえばこれって防御力って概念はないんですかね?
275(2): 泥酔迷走スーパーラリー [sage] 2022/02/24(木) 10:55:39.59 ID:+Q1phfs/(1) AAS
キャラの中にキャラを埋め込んで
やられたり倒したりしたら
変身できたりしたら面白いのにね
生物から背景(ドラゴンズクラウンラスボス)とかね
276(1): 名前は開発中のものです。 [sage] 2022/02/24(木) 23:08:04.14 ID:lG9kY8kz(1) AAS
>>274
offense
defense という要素がありますよ
それぞれに、normal攻撃からburn,freezeなどなど
なので普段のAttackコマンドなどでは攻撃力を変えずに
offense all 1.5 とヘッダーで設定すれば、全ての攻撃が1.5倍に
defense all 0.6と設定すれば被ダメージが40%減らせます。
>>275さん Weapon コマンドを上手く使って変身を実現してるModなら
ありましたね。
277: 名前は開発中のものです。 [sage] 2022/02/25(金) 14:46:49.81 ID:jrQUKCkk(1) AAS
>>276
defense all いけました!
ググっても情報見つけられなかったんで助かりました!
278: 名前は開発中のものです。 [sage] 2022/02/27(日) 01:07:56.28 ID:ofDNDNVo(1/6) AAS
Offense は 特殊攻撃 Burn Shock Freezeなどの攻撃力を上げ下げするだけなんですけど、
Deffense はBurnは吸収する、 Freezeは弱点で喰らいダメージ1.5倍 などなど
様々な設定ができるようなんですが、わたしもまだ真っ当に弄った事ないので
All で全ての攻撃に耐性をつけるくらいしか。
MODではD&D系のもので設定してる事が多いかも?
うろ覚えなんですが、通常攻撃は全く効かず、炎の攻撃で秒サツみたいな敵キャラが
登場したような?
279(1): 名前は開発中のものです。 [sage] 2022/02/27(日) 03:32:35.68 ID:BVcqNQ44(1) AAS
掴み技からレバガチャで脱出みたいなのってできます?
上下前次1-新書関写板覧索設栞歴
あと 379 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s