☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
1-

236: 天堂少女6.0探しています 2022/01/08(土)21:00 ID:5Lb1/KKH(1)調 AAS
天堂少女6.0探しています
!マスカク
-道に武器が落ちている-
-やよい必殺技アイテム呼び出す-
!Briga de Rua (Ver. 1.0)3666
-ケン別キャラに変身-
!m . youtube . com / channel/UCp2L23xB6wcWVckmKi7BMnQ/videos
-なんか鉄パイプが落ちてた-
-Girls4変身してた-
!Contra Locked 'n Loaded (Ver 2.0)3789
-武器切り替え?-
237: 2022/01/08(土)23:14 ID:hZs3cRin(1)調 AAS
有難うございます。とても参考になります。
238: 2022/01/09(日)02:29 ID:jzItCxMh(1/2)調 AAS
某チューブに動画をアップして公開前に視聴数1とか増えてるんですが、
超怖いんですけど、そういうものなんですか?
Stealthコマンドのテストですが、敵がこちらを見失うという、とても地味な効果。
途中ミスから生まれたNPC増殖技で敵をボコスカしてますが、
本当は気弾的なものを撃つ予定でしたw
敵が赤くなっているのは怒りモードではなく、こちらの技がちゃんと効いてるか
確認のためにDrawmethodで色を変化させています。
赤くなったら15秒で強制昏倒するようにChangeEntityPropertyでLifespanをいじってます。
239: 2022/01/09(日)09:17 ID:e5/5wAc8(1)調 AAS
自動回数AIチェック 基準は不明で誤アカ追放あります...
それか自分自身でもディレイで増えている?
240
(1): 2022/01/09(日)23:59 ID:jzItCxMh(2/2)調 AAS
なるほど、ありがとうございます。
AIチェックですか、確かに人のチェックじゃ捌ききれないですよね。
アップして保留あいて説明文書いてる最中だったので、AIさんなのかな。
241: 2022/01/13(木)13:01 ID:C40IH/E9(1)調 AAS
drawmethod の単独コマンド指定で
tintcolorやfillcolorの色指定方法が
やっと判明
パレット指定も出来ると書いてありますが、そちらは不明
0から255までの数値でR,G,Bの三原色を各々指定
例、drawmethod fillcolor 255_255_255
区切りはアンダーバーです。例では真っ白ですね。
チャージマックスで白く光るとか便利。
242
(1): 2022/01/19(水)03:20 ID:icpjxPIn(1)調 AAS
某ムゲン用キャラクターからアレしたキャラなんですが、元の画像サイズが超巨大で
SAEというエディターで縮小して(FFでも可能)、さらにOpenBoRの
Drawmethod コマンドのScaleを使って調整した動画を上げてみました。
例えば、Frameコマンドの前にDrawmethod scale 0.8 0.6 と記述すれば
以降のFrameの画像は横(x)20% 縦(y)40%縮小されて表示されます。
Scale 1.2なら20%大きくなります。ただし、戻さないと(Scale 1)ずっと調整されたままです。
癖はありますが、とっても便利なのでお試しあれ。
独自に画像を用意したほうが手間が掛からない事もたまによくあります。
243: 2022/01/19(水)11:16 ID:Ec9S6zOR(1)調 AAS
最近特に規制ラッシュ厳しすぎない?
投稿エラーばっかりで何も書き込めない...ここももうダメかなぁ
244: 2022/01/19(水)14:30 ID:EZ4VtvX3(1)調 AAS
neko57やUsaMimi全然できないね
rgss2a数値変えたいけれども
fuzzy(unknown)でも惜しくもない何もかすりもしなかった
低スペックpc32bitだからかなぁ
245: 2022/01/20(木)12:56 ID:u2BymVt9(1)調 AAS
>>242 でなぜMUGEN用のエディタで一度縮小してるの?
これはOpenBoRでいきなりDrawmethodを使って大きな画像を拡大縮小させると、offsetの誤差でずれて表示されてしまうからです。
スクリプトでsetdrawmethodを使えばあるいはcenterxなどで拡大縮小や回転の軸を指定できるかも?ですが、まだ模索中
246: 2022/01/24(月)00:24 ID:0KDXzbPh(1)調 AAS
たまに、ステージクリアあたりの敵を倒すとドッカーン!とK.O.的なエフェクトが
画面いっぱいに広がる事がありますが、あれの簡単な方法は
K.O.エフェクト画像を表示するアイテムを作成し
エフェクトを展開させたい敵にアイテムとしてドロップさせればドッカーン!です。
言われてみると単純な事ですが、私には思いもよらない事でした。
247: 2022/01/28(金)17:18 ID:cl7fqs+x(1)調 AAS
rgss2a数値は成功したー!
逆だった
06 77罰
77 06丸
248: 2022/01/30(日)16:14 ID:0oxbUQ1X(1)調 AAS
kou氏 の開発中 girls special4 着々と進んでいるようですね。
スクリプトは要所でのみ使い、シンプルでテンポの良い
ゲーム進行でが気持ちよく遊べます。
たまに怒涛のラッシュ等もあり、飽きさせない工夫もされているようです。
個人的にWendyが気に入ってます。
作り続けるって大切な事なんだと改めて思います。
249
(1): 2022/02/03(木)07:04 ID:UxXtcp5/(1)調 AAS
質問です!
ファイナルファイトPCをいじってるんですけど
@cmd throw を仕掛けた時の相手のリアクションってどこで指定するんでしょうか?
throwの後の数字はおそらく ダメージ ? x軸 y軸 となっていて
?の部分が1-3が全部fall1のアニメだったりイマイチ分かりません
250: 2022/02/05(土)01:34 ID:8GsEw0Lg(1/3)調 AAS
anim grabup
hitflash flashs
delay 30
offset 30 120
@cmd slamstart
attack -16 8 96 96 10 0 1 0 9 30
nokill 1
frame data/chars/Blaze/fs2-1.gif
@cmd position 0 30 60 1 0
frame data/chars/Blaze/fs2-2.gif
offset 18 130
@cmd position 0 0 90 1 0
frame data/chars/Blaze/fs2-3.gif
@cmd position 0 0 90 1 0
frame data/chars/Blaze/fs2-4.gif
@cmd position 0 0 90 1 0
frame data/chars/Blaze/fs2-5.gif
@cmd position 0 -30 90 1 0
frame data/chars/Blaze/fs2-6.gif
attack 0 0 0 0 0 0 0 0 0 0
@cmd depost 0
@cmd throw 40 1 5 1 0 0
@cmd clearlocalvar
frame data/chars/Blaze/fs2-7.gif
offset 40 77
frame data/chars/Blaze/fs2-8.gif
件のスクリプトの内容は正確にはちょっと判らないのですが、上の内容を実行したらどうなるか動画にしておきます。
251
(3): 2022/02/05(土)02:10 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)とセットで使います。
打撃からの投げや、フィニッシャーなど、スクリプトのヴァリエーションで色々違うので、
お持ちのスクリプトファイルを覗いてみてみてください。
252: 2022/02/05(土)02:38 ID:8GsEw0Lg(3/3)調 AAS
やりすぎな位スクリプトを使っているのが The Bruiser Brigadeという MODで
レーダーなど実装しててDEMO版でもかなり遊べます。ルールを理解してないと
延々と風船を割るだけになりすので、メニューからコントロールを確認しましょう。

個人的には単純なベルトスクロールアクションが大好きなんです。
2週間前にはルビーというキャラを弄ってたなんて、すっかり忘れてました。
その前はクーラが炎を撃ちまくってるし、そんなの弄ってたかな?覚えがないw
253
(1): 2022/02/06(日)04:48 ID:QP0uLAK6(1)調 AAS
>>249 さん
ファイナルファイトPCのスクリプトは覗いてないので、正確には言えませんが、
一般に出回っているSlam系スクリプトのThrowだけでは、
OpenBoRの標準コマンドTossEntityを補正するだけなので、リアクションの管理まではしていません。
基本、リアクションは 攻撃を受ける側で用意します。
なので突き詰めると結構面倒ですが、スクリプト側で ATK_NORMAL7とか
指定されてると思いますので、Anim Fall7 なんかに喰らいポーズを記述する訳です。
殆どのばあい無ければ 標準Anim のFall が再生されますので、完成までは適当で良いと思います。
基本、喰らいポーズの上下左右の画像パターンを用意(ペイントソフトで反転とか)すれば十分かと思います。

説明が下手でごめんなさい、ムゲンのキャラクターを弄ったことがあると想像しやすいかもしれませんね。
254: 2022/02/06(日)13:03 ID:qSYLiSWp(1)調 AAS
Golden Axe Remake
https://www.chronocrash.com/forum/index.php?threads/golden-axe-remake.1207/
https://www.youtube.com/watch?v=vkShc3QsJDM
255: 2022/02/06(日)19:09 ID:AZl7PJSN(1/2)調 AAS
>>251
やっぱり@cmd throw じゃ相手の吹き飛びアニメは指定できないんですかね、二つめの数字をいろいろいじってもfall1かどこかのpainアニメの2種類にしかならないような…
ただやられボイスの有無で分けたいだけなのでこのままで行きます

>>253
@cmd positionだとfall7のアニメで指定できますね、そこはなんとか自力で見つけたんですけどスクリプトで指定されてたのか…
そっち方面は全くの無知でした

お二方ともありがとうございました、勉強になりました!
256
(1): 2022/02/06(日)19:13 ID:AZl7PJSN(2/2)調 AAS
それともう一つ質問すみません

@cmd hurt でつかみ中のダメージを指定できる事は分かったんですが
相手の体力ゼロになったらアニメを終了させるという事はできるんでしょうか?
@script からの記述で条件を指定できそうではあるんですけど
もっとシンプルというか、型のような組み方がないものかどうか…
257
(1): 2022/02/07(月)02:41 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: 2022/02/07(月)21:49 ID:CaBTj81S(1)調 AAS
>>257
またもご丁寧にありがとうございます
hurtでダメージ与えてゼロになったように見えても離れた後にピンピンしてたのはスクリプトで1になるよう指示されてたって事か…なるほどすぎる
全くの無知なんで覗いたりした事もなかったんですけどいろいろ情報ありそうですね、見てみます!
259: 2022/02/08(火)03:58 ID:i16aZQLO(1)調 AAS
OpenBoR 標準のコマンドだと、攻撃中でも Health が 0になったらどうするか等
自動で計算してくれたりしますが、
スクリプトはなんでも自由に出来る分、ルールというか設定も全て指定してあげないとなりません。
左に投げるはずが、何故か右にとか頻繁にあります。
@cmd throw を使うときも、すぐ後に @cmd Clearlocalvar(変数クリア) をしておかないと
内部で設定が残ったままになり、軽く投げる設定の筈がとんでもない所にぶっ飛んだりw
まあ、単体で@cmd Throw を使うなら、標準の Attack コマンドに吹き飛ばし設定をして
次に Dropv で吹き飛ぶ方向を設定すれば、似たような効果を標準でも実行できます。
ChronoCrashだと何でも書いてあるんですが知ってて当たりまえ的な話題も多く、
Githubだともう訳判んないくらい技術的だし、
動画サイトのチュートリアルも音声英語ばっかでテキストじゃないから翻訳サイトも
役に立たないしでなかなか難しいですね。
まあ神経質にならずにエラーが出なかったラッキーくらいの感じで弄ると良いかもです。
260
(1): 2022/02/08(火)11:53 ID:T8ddwlg/(1)調 AAS
質問ばっかでほんとすみません…
投げとかで例えば手の部分だけ手前に表示したい、って時は>>28のやり方で手のgifを読ませればいいんでしょうか?
それともweaponですかね?

てか上から読んでるんですがこの情報量はありがたいですね
始めたばっかの素人で今のところ大部分が漠然とした理解ですけど…
261
(1): 2022/02/09(水)02:52 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となりそうですが
上の方のレス >>53 >>54 辺りが参考になるかも、
用意した 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): 2022/02/09(水)03:04 ID:FIV9SGUf(2/2)調 AAS
なんか、なに言ってんだ?状態ですね。

>>160 に詳しく載ってました。
>>230 で検索して出てくる動画(1分程度、音声無し)に、
身体と腕が別な Entityで構成された敵がでてきます。
腕パーツのEntityには Anim attackやAnim idle、Anim Walkなどが用意してあって
身体パーツのEntity が動くと 腕パーツの同じAnimが実行されています。
263: 2022/02/09(水)22:24 ID:3wZqpd99(1)調 AAS
>>261-262
うおーありがとうございます!>>160の通りにやったら無事成功しました
解説いただいたんで理解が深まりましたよ、何度もご丁寧にありがとうございました!
264: 2022/02/11(金)02:59 ID:aG1kfbJs(1/3)調 AAS
すでにCrimeBustersやLadiesOfRageなど参考になる作品が挙がっていますが
MOD内のスクリプトや各Entityの動作なんかが素直で読みやすいと個人的に感じるのが
WorldHeroesSupremeJusticeExtraとか、RocketViper2Purificationなどで入手し易いと思います。
同じRocketViperでも最近のものはメニューやプレイヤーセレクトなどもスクリプト使いまくりで
派手で凄いですが、なにもそこまでって感じなので、
MOD作成のお手本としては少し古いものをお勧めします。
特にRocketViper2Purificationあたりは、ストーリー(アクション画面上で展開)や
背景のアニメーションなど、わかり易く作られています。一通り中身を覗いてみれば
漠然とした自分のやりたい表現の手段が見えてくるんじゃないかなー?と思います。
BurnigFoxSilverEditionあたりも良いかもしれません。
265: 2022/02/11(金)18:41 ID:aG1kfbJs(2/3)調 AAS
すでにご存知の方も多いかと思いますが、ChronoCrashサイトにて
Piccolo氏が ToolKitを発表されています。
簡単に言えば、OpenBoR Statsです。
まだ試せてないですが、ムゲンのSFFやAIRファイルも読めるようです。
使用感としてはムゲンのFFのように、その場でAnimを再生したり
オニオンスキンが使えたりで、新鮮な気持ちでキャラ作成ができそうです。
266: 2022/02/11(金)18:57 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: 2022/02/15(火)03:22 ID:XMpwbOyV(1)調 AAS
>>251 にあるスクリプトに @cmd dasher を組み合わせて
簡単に 相手を引きずって投げる 動作をさせてみました。
動画ではカクカクですが、もともとのキャラクターはムゲン用に作成されたものなので
スプライトが豊富でとてもスムーズに動いてます。
うちのPCが貧弱なのでコマ落ちしてますw
うちの環境ではPicclo氏のToolKitではAirファイルの変換は出来なかったので、
まだエディター部分以外はメニュー表示だけかもしれません。
まだ暫くはOpenBoR Stats0.53のお世話にならないとです。
268
(1): 2022/02/17(木)03:44 ID:PDHSLg1A(1)調 AAS
有名で入手し易い作品、InfinityWar
プレイアブルキャラも非常に多く、疎いのでちょっと判りませんが
きっと原作のキャラの特徴を捉えているんだろうなと感じます。
スプライトの枚数は少なくてもとても活き活きしているので
一度覗いてみると、とても参考になります。
特に、スクリプト部分では Updated.c 部分が Zoom (技を使うとき一瞬拡大)特化なので
必殺技のエフェクト時にどのように画面の一部を拡大してるか、わかり易いと思います。
Anim の中で Loop 1を設定して、@CMD で Velocityを 0 0 0 にすると浮きっぱなしになるのは
かなり参考になりました(Cancel 0 99 0 A Freespecial#などで離脱する手段が必要)。
269: 2022/02/19(土)03:28 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: 2022/02/19(土)03:40 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: 2022/02/19(土)04:49 ID:9tJDMn9r(3/4)調 AAS
とても凄いスクリプトがChronCrashで発表されてます
2人でプレイしていた場合、画面のプレイヤーキャラが離れると
画面が分割されて表示されるというもの。
画面内にもう一つ画面を用意して、プレイの様子を映し出す演出は
RocketViper2等でもありましたが、プレイヤーの動きに合わせて
画面を分けるなんて凄い技術ですね。
272: 2022/02/19(土)10:48 ID:9tJDMn9r(4/4)調 AAS
もう一つ同じKratus氏が上げてるzoomBoss も大変使い勝手が良いです。
特定の場所をアップ(zoom)にすることができるので、ボスに限らず
ステージの目標やゴールにも簡単に応用できます。

この方のように発想を道具(スクリプトライブラリ)と結びつけられる能力を一欠片でも欲しいw
273: 2022/02/20(日)02:17 ID:4xgUpQdN(1)調 AAS
Kratus 氏の作成したスクリプト Zoom for Bosses を早速つかわせていただいて
動画にしてみました。
ついでに上のほうにあった ランダムな敵の出現スクリプトもテスト。
スクリプトは上手く動いてくれているのですが、WallやPlatformの設定がイマイチで
設定しても基本透明なので確認が難しいです。
if (openborvariant("count_enemies")<4) { 〜
この一行を足して、敵の数が 4以下になったら補充って感じで敵をスポーンさせます。
Level.txtのGroup {Min} {Max} と同じような感じになります。
274
(1): 2022/02/24(木)04:36 ID:Xp/HWEAz(1)調 AAS
そういえばこれって防御力って概念はないんですかね?
275
(2): 泥酔迷走スーパーラリー 2022/02/24(木)10:55 ID:+Q1phfs/(1)調 AAS
キャラの中にキャラを埋め込んで
やられたり倒したりしたら
変身できたりしたら面白いのにね
生物から背景(ドラゴンズクラウンラスボス)とかね
276
(1): 2022/02/24(木)23:08 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: 2022/02/25(金)14:46 ID:jrQUKCkk(1)調 AAS
>>276
defense all いけました!
ググっても情報見つけられなかったんで助かりました!
278: 2022/02/27(日)01:07 ID:ofDNDNVo(1/6)調 AAS
Offense は 特殊攻撃 Burn Shock Freezeなどの攻撃力を上げ下げするだけなんですけど、
Deffense はBurnは吸収する、 Freezeは弱点で喰らいダメージ1.5倍 などなど
様々な設定ができるようなんですが、わたしもまだ真っ当に弄った事ないので
All で全ての攻撃に耐性をつけるくらいしか。
MODではD&D系のもので設定してる事が多いかも?
うろ覚えなんですが、通常攻撃は全く効かず、炎の攻撃で秒サツみたいな敵キャラが
登場したような?
279
(1): 2022/02/27(日)03:32 ID:BVcqNQ44(1)調 AAS
掴み技からレバガチャで脱出みたいなのってできます?
280
(1): 2022/02/27(日)20:33 ID:ofDNDNVo(2/6)調 AAS
>>279
mod レスキューコマンド2やトラブルインサウスタウンなどで
使われてますね、仕組みとしては
掴み側の敵の攻撃が成功したら、レバガチャ用のentityを喰らったプレイヤーにbindしてます。
レバガチャentityはプレイヤーのレバーとボタン入力をスクリプトで検知して
自身のhealthを減らし、0になったら消滅するので脱出成功。
掴んだ側の敵は、delayなどで一定時間待ち時間を
281
(1): 2022/02/27(日)20:37 ID:ofDNDNVo(3/6)調 AAS
経過したら、攻撃コマンドを実行させるというもの。
プレイヤーを掴むときはスクリプトのslamstart&#12316;positionコマンドで拘束します。
実際にmodをプレイしたほうがわかり易いかもw
282
(1): 2022/02/27(日)21:01 ID:ofDNDNVo(4/6)調 AAS
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
(1): 2022/02/27(日)21:07 ID:ofDNDNVo(5/6)調 AAS
レバガチャ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
(1): 2022/02/27(日)21:51 ID:ofDNDNVo(6/6)調 AAS
別のテストのときの動画なので、ちょっと混沌として分かりずらいですが
レバガチャの様子がが映ってたので参考になれば。

tu.be/V4o4JU56YFU
285
(1): 2022/02/28(月)02:55 ID:T0w0iYnz(1)調 AAS
>>280-284
ぐおおおおお!お手間取らせました、すみません!

やっぱり簡単にはいかないんですね…全く理解が及びませんw
少しずつやってみようと思います、ありがとうございましたm(_ _)m
286: 2022/02/28(月)18:49 ID:e4RME2GR(1)調 AAS
>>285
mod トラブルインサウスタウンの data/chars/misc/grab/grab1.txt
に上のレバガチャentityがあります。
基本 >>251 のようなslamスクリプトと一緒に混ぜて使います。
modをプレイして動作を実感したあと、entityのtxtやスクリプトを
覗いたほうが理解しやすいかも?
txtをコピーしてキャラ画像を差し替えてみたりとか。
私は良く関係無い画像を表示させて、しおりというか目印にしてますw
287
(1): 泥酔迷走スーパーラリー 2022/02/28(月)20:37 ID:ya7gt2me(1/2)調 AAS
ファイルが大きすぎる上に投げ抜けできた試しがないので
Bad SchoolGirlsの
ひなたとかの方が良くないですかね?
受付時間がひどいですけど
288: 泥酔迷走スーパーラリー 2022/02/28(月)21:05 ID:ya7gt2me(2/2)調 AAS
545c . com /f/13296827-500775648-7a875b
(空欄3個)
パス? afeidanji
289: 2022/03/01(火)02:54 ID:49Ib5jCa(1)調 AAS
>>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〜をはさんで、抜けるまでジワジワダメージでも良いかもしれません。

構造を知ってしまえば単純なことなんですが、それを思いつく方々の発想の柔軟さに敬服します。
290: 2022/03/04(金)03:31 ID:y6oPXV1f(1)調 AAS
キャラクタの登場が大爆発だったり、specialアタックが天空高くヒップアタックだったり
謎のシュールさが良い味のmodを提供している、
G.P.Smith氏がHAG+3というmodを上げてらしたんで、
もしやと思ってプレイしてみましたが元のmodはHAGv5.0のようです。
v5.0とv6.0の違いはプレイアブルキャラだけのようですが、
剣を持ったWWがプレイヤーキャラだったりと中々カオスですw
スクリプト無しでかなり軽いんで人気なんですかね?
291: 2022/03/04(金)07:39 ID:vVdcxQXF(1/2)調 AAS
もう少しだけヒントを
是非お願いします!
292: 2022/03/04(金)08:56 ID:vVdcxQXF(2/2)調 AAS
284様ありました!
情報ありがとうございます!
293: 天堂少女6.0探しています 2022/03/04(金)10:31 ID:cEKsJ0D+(1/3)調 AAS
天堂少女6.0探しています
ありがとうございます!やってみたけれども
Dボールの嫁(18gou)さんとかB.jenetさんとかがいなかった
本物はキャラクター10人超えているはずで難易度セレクト的なものがあるはずです
これら本物?(中華)にしかない素材の断片をずっと探していたのですよね
でもなかなかうまくいきませんね
294: 天堂少女6.0探しています 2022/03/04(金)11:12 ID:cEKsJ0D+(2/3)調 AAS
もしも見つけていたら更なるヒントを願っています
295: 天堂少女6.0探しています 2022/03/04(金)16:23 ID:cEKsJ0D+(3/3)調 AAS
スミスちゃんはコウちゃん作品使っていた?というよりもむしろ
ほかの人の作品をアップしすぎです(笑)
296: 2022/03/05(土)08:00 ID:p49CKOCm(1)調 AAS
KOH氏の特徴のあるキャラ動作までよく似てますね。私はキャラのモチーフの選定センス(こより等)と愛のあるグラフィックでKOH氏のファンです。
Smith氏の「細かい事はいいから勢いと爆発だ」的なセンスも好きです。
297: 2022/03/06(日)03:35 ID:D4DSTBj4(1)調 AAS
お手本MODとしてかなり有名かと思います、CrimeBustersを480x270に対応させようと
いろいろ弄ってみましたが、どうやら既にあるっぽい?半分諦めムードw
せっかく作ったのでステージ1の動画(音声無し)。
P1とP2の操作コンフィグを同一に設定して擬似2Pプレイ。

tu.be/dgHMFoynmAg
298
(1): 2022/03/10(木)01:37 ID:iC7iqZ0i(1)調 AAS
そういえばピヨリみたいなのって作れるんでしょうか?
299
(1): 2022/03/11(金)03:47 ID:aFe4cfAL(1)調 AAS
>>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秒間硬直します。
300: 2022/03/11(金)05:25 ID:/kzpLClR(1)調 AAS
ダウン、動けない、追撃、拘束系
挽歌くにお等みたいに細かい事ができるものは殆ど無い見たことが無いです
openborはどうでしょうか
くにお等はバックドロップや馬乗りも印象的でした
301
(1): 2022/03/11(金)11:57 ID:UqoUjlxU(1)調 AAS
>>299
ピヨリ値蓄積みたいなのをやりたかったんですけどやっぱ複雑ですか…
ピヨリ専用のリアクションいいかも知れません、ありがとうございました!
302
(1): 2022/03/12(土)01:40 ID:eSAMRvJC(1)調 AAS
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秒程度、ダメージを与えた敵を
完全に硬直させる事ができます。
303: 2022/03/23(水)01:49 ID:YS0aCHsY(1/4)調 AAS
アニメカオスやHAGなど話題に上っていたので、私も”みたいなもの”を作りたいなと思いたち、
何もギミックなど無く、ただ敵を適当に配置してボスまで10分程度のステージ。
しかもステージリソースなどは他の方が作成したものをお借りさせて頂いてるのに、
それでも3日以上かかるという、自身のセンスの無さに辟易。
いくつか実験的なことをしてるとはいえ、混沌としてしまい、たびたびプレイヤーを
見失う事になる悲惨な構成。ただキャラをバラ撒くだけでもこんなに難しいとは。
まあある意味カオスだしいっか。
ステージ構成の〜.txt中でも@scriptで各種Entity(敵とかNPCとか何でも)をTossEntityで
ステージに放り込んだりできるのは発見でした。
ExecuteAnimationやPerformAttackなどで、ステージ登場時に特定の動きも
させられます。動画の最初に敵が跳びこんで来るのとか。
tu.be/DZkZLRIJmxk
304
(1): 2022/03/23(水)02:14 ID:YS0aCHsY(2/4)調 AAS
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に(逆も)できます。結構便利。
305: 2022/03/23(水)03:42 ID:YS0aCHsY(3/4)調 AAS
意外と知られて無いのかも?
anim attack ではなく、コマンドのattackでattack4と記述して、このattack4が相手にヒットした場合、
ヒットした相手にanim pain4やanim fall4などが存在していれば、
そのanimが優先して実行されます。
スクリプトslamstartなんかは、これを利用して専用ヤラレを表現してるんですね。
attackコマンドには一緒に記述することで、他にも特別な動作をさせるサブコマンドがあるので
DCマニュアルで調べてみると面白いです。
よく使う吹き飛びの距離を変化させるdoropvとか、
forceDirectionとstunを組み合わせると、相手を振り返らせてそのまま硬直させるとか。
306: 2022/03/23(水)07:46 ID:YS0aCHsY(4/4)調 AAS
doropv ミス
dropv Y X Z 高さ 幅 奥行 に吹き飛ばす方向の調整attack コマンドと一緒に使用

面白いのがDOT 多分ダメージオーバータイムの略で、指定したダメージを
一定時間と回数(5ダメージを1秒に1回3秒間など)、ヒットした相手に与える。
OTG オンザグラウンド?anim fall等で地面に倒れている相手にもattackがヒット、
ただし倒れている相手にBBoxを設定する必要があります。
結構沢山の要素が設定できるので、標準コマンドでもかなりの事が出来ますね。
307
(1): 2022/03/24(木)08:53 ID:SUDjzvRe(1/2)調 AAS
DCマニュアルとうのは
>>2 の上段のサイトのことですね。
英語ですが、ディープL先生に訳してもらえば
かなりの情報が得られると思います。
308: 2022/03/24(木)09:06 ID:SUDjzvRe(2/2)調 AAS
最初はスクリプトなど意識せず、初代BoRのモデル設定Txtなどを読んだり、
プレイヤーキャラや敵等のHealthを100から200にするだけでも、かなりバランスが変わるのが分かると思います。
登場キャラや設定も少なめで基本はシッカリしてるので、構造が分かり易くエディットをミスしてバグっても、追いやすいというのもあります。
309: 2022/03/27(日)01:42 ID:HrM0WEsM(1/2)調 AAS
倒れている敵に追撃できないか?
簡単に作る場合は、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 くらいしか
私は知りませんので、なんとかそれでやりくりしてます。
310: 2022/03/27(日)01:45 ID:HrM0WEsM(2/2)調 AAS
>>307 2じゃ無くて >>7 ですね。
さらにミスって上げてしまいました。ごめんなさい。
311
(1): 2022/03/30(水)02:10 ID:jn3q1exc(1)調 AAS
anim idle
@script
void self = getlocalvar("self");
void rflag = getentityvar(self, 1);
if (rflag==NULL()){ setentityvar(self, 1, 0);
} else {
int rotate=getentityvar(self,1);
if(rotate>=360){rotate=0;}
changedrawmethod(self, "reset", 1);
changedrawmethod(self, "rotate", rotate);
changedrawmethod(self, "fliprotate", 1);
rotate+=18;
setentityvar(self, 1, rotate);
}
@end_script
loop 1
delay 2
offset 42 43
attack 0 0 83 86 5 0 1 0 12 12
frame data/chars/spiral/ssword1.gif
これは、射出される弾の1枚の絵を回転させられないかな?と作ったもの
回るには回ったんですが、やはりDrawMethod Rotateの特製か、中心を軸に回転させるのが難しい
無い頭で苦心するより、ペイントソフトで回転する絵を作ったほうが早そうです。
312: 2022/04/07(木)09:32 ID:RWamgL6H(1/2)調 AAS
bindentityの機能にターゲットと同じAnimを実行するというものがありますが
速いdelayやAnimを連続切り替えしたりすると、他のentity(敵とか)に影響が出て描画が遅れたりすることがあるようです。
特に同じAnim内でdrawmethodも使っていると症状が出やすいようです。
レイヤーコマンド使って優先順位付けしたら違ってくるかも?などと考えています。
かなり軽いエンジンなので、あんまり無理させちゃいけないのかも知れません。
313
(1): 2022/04/07(木)11:11 ID:V6ejTjoQ(1)調 AAS
>>311 の回転ですが
元絵を余白も含めて縦横比を同じくらいにして
offsetを画像の中心付近にすることで、
結構綺麗に回転します。
飛翔体などならそんなに違和感ないですね。
コツが分かってくると、スピンアタック系や
ジャンプ中の前転などそれなりに使えそう。
314: 2022/04/07(木)21:23 ID:RWamgL6H(2/2)調 AAS
drawmethod rotate #とfliprotate 1はよく使ってます。
前者は好きな角度に回転させるのと、後者は対象のentiryの向きに合わせて
自動で反転してくれるというもの。
shiftx #にも自動反転があればもっと便利になるのですが、
中々難しいものです。
315: 2022/04/08(金)01:33 ID:W27/nC7P(1)調 AAS
>>304 のChangeEntityPropertyでTypeやHostileを変更するを利用して
キャラ(Entity)がKnockdownCountで転ぶ(Fall)度に
敵になったり味方になったり変わる様にしたんですが、ChangeDrawmethodなどで
色も変えないと混乱の元なので却下。
動画では、一部の敵を倒すと一定時間NPCが出現するようにしましたが、このほうが分かり易いですね。
Stage2では敵を倒すとどんどん増援が来るようにしたはずが、レベル設定のGroup{Min}{Max}の
影響も受けるようで、そんなに敵だらけになるようなことはありませんでした。
Stage1のようにEnemyポータル方式のほうがメリハリがついて良いかもしれません。
テストとはいえ、コンセプトや世界観なしで適当に登録してある敵をただ順番に出現させているだけなので
ゲーム性は全く無いですね。ステージもTGS4からの流用です。オリジナルを作れる日はいつの事やらw
tu.be/k1-ss0M1Klc
316
(1): 2022/04/09(土)02:45 ID:huMt1Pej(1/2)調 AAS
>>302 にてlocalvar と globalvar について軽く触れていますが、もう一つ
EntityVar もあり、setEntityvar({entity},{index},{var}) 的につかいます。
EX. SetEntityVar(Self, 1, 999)GetEntityVar(Self,1)な感じで、
好きな入れ物(変数)として使えます。
Localvarはシステムも使っていて、結構な頻度でリセットされるので、
キャラ(Entity)固有の変数収納場所(フラグ処理とか)として便利かと。
MOD SailorMoonでは Kastorというキャラが、これを利用して
2対でプレイヤーの情報を共有して、同時攻撃をするなどしています。
317: 2022/04/09(土)02:58 ID:huMt1Pej(2/2)調 AAS
>>316
なので、いわゆるピヨリ値などはGlobalVarよりEntityVarに収納したほうが
管理しやすいかも知れませんが、いまのマシンパワーならメモリ効率とか考えなくても
とくに支障はなさそうなので、使い易いほうで良さそうです。
318: 2022/04/11(月)03:53 ID:mFlGfZLx(1)調 AAS
プレイヤーが敵の情報を取得して、その敵を投げた際にdrawmerhod rotateを
使って回転しながら吹き飛ぶようにしようとスクリプト組んでたんですが
ぜーん全上手くゆかないので、プレイアブルキャラ作成に逃避
319: 2022/04/12(火)01:32 ID:vWluw1zD(1/3)調 AAS
void slamSpin() {
void self = getlocalvar("self");
void target = getlocalvar("Target"+self);
if(target==NULL()) { target = getentityproperty(self, "grabbing");
setentityvar(self,3,NULL());
setlocalvar("Target" + self, target); }
if(target!=NULL()) {
if (getentityvar(self, 3)==NULL()){ setentityvar(self, 1, 36);
setentityvar(self, 2, 16);
setentityvar(self, 3, 69); }
int zoom = getentityvar(self,2);
int zoomfct = 256+(zoom*4);
int rotate = getentityvar(self,1);
if(rotate>=360) { setentityvar(self, 3, 99); }
changedrawmethod(target, "enabled", 1);
changedrawmethod(target, "rotate", rotate);
changedrawmethod(target, "fliprotate", 1);
changedrawmethod(target, "scalex", zoomfct);
changedrawmethod(target, "scaley", zoomfct);
changeentityproperty(target,"projectile",1);
updateframe(target, 0);
setentityvar(self, 1, rotate+=36);
setentityvar(self, 2, zoom+=8);
if(getentityvar(self,3)==99) { changedrawmethod(target, "rotate", 0);
setentityvar(self,1,NULL());
setentityvar(self,2,NULL());
setentityvar(self,3,NULL());
depost(0);
throw(999,1,0,4,3,0);
changedrawmethod(target, "alpha", 3);
spawnEF("crash",0,0,1,384,0);
anichange("ANI_DODGE"); } } }
320: 2022/04/12(火)01:51 ID:vWluw1zD(2/3)調 AAS
思ってたんと違ったけど、まあなんとか必殺投げが出来たので
最後の5行に別なスクリプトを呼んでますが、演出用なので
基本上のスクリプトをLooperという別なスクリプトで呼び出して使ってます。
動画のプレイヤーキャラ(黄色いの)が連続キックを繰り出しますが
ああいう同じ動きをするとき便利なスクリプトで、殆どのユーザースクリプトに導入されていると思います。
@CMD Looper 3 5 という感じで7番目のFrame Data/〜に記述すると
3番目のFrame から6番目のFrame までを5回繰り返すというもの
標準コマンドのLoop だと延々と繰り返してしますので、Looper の便利さが分かるかと思います。

動画だと動画のフレームが跳んでしまって分かりにくいですが、
なんとなーく私のやりたいこと分かっていただけますでしょうか?
tu.be/CRGXjQowAG8
321: 2022/04/12(火)02:29 ID:vWluw1zD(3/3)調 AAS
上のスクリプトは汎用性はほぼ無し、条件設定として
Health が25%切った相手を投げた際に30%の確立で発動な感じです
(動画ではテスト用に発動条件ユルユルですが)。
なのでやっぱり
攻撃者のAttack5 などに、相手側がリアクションとして Pain5 や Fall5 を
設定しておいたほうが結果手間が掛からないかと思います。
322: 2022/04/13(水)00:14 ID:aDur5ZAn(1/5)調 AAS
ピヨリについて、面倒だと思うよーとか適当な事言っておいて
EntityVar に値を入れておけば楽だと思うよーとか超いい加減なことばっかレスしてるんで
一応作ってみました、結果そんなに苦労はないかも?
今回はプレイヤーがピヨリ値を蓄積し、一定に達すると4秒間ピヨリ
レバガチャで時間短縮と成功でリバーサル攻撃。
内容は単純でAnim Pain実行時ピヨリ値をプラス、Anim Idleで少しづつピヨリ値減少
一定数たまったら、Executeanimationで”Ani_Follow{#}”でピヨピヨ実行
このとき、レバガチャEntityをプレイヤーにBindEntityして
ガチャ成功するとリバーサル攻撃用のAnim_Follow{#}にExecuteanimationするというもの
レバガチャEntityにはLifespan 4が設定してあって、4秒で自動消滅
CPU戦でピヨるとかウザイだけかもという認識でしたが、作ってみたら意外と良かったw
tu.be/6iLBqsjC2eI
323: 2022/04/13(水)01:10 ID:aDur5ZAn(2/5)調 AAS
anim pain
@script
if (frame==0) {
void self = getlocalvar("self");
int incDM = getentityvar(self,9);
if((incDM==NULL())||(incDM<=0)) { incDM=1; }
incDM+=incDM;
spawn01("dmflashsp", 0, 4, 0);
if(incDM>=20) { executeanimation(self,openborconstant("ANI_Follow9")); }
setentityvar(self,9,incDM);
}
@end_script

ピヨリ蓄積部分もこんな感じで単純です。Anim Painの度に倍になってゆき、
数値20以上でピヨリAnim(Follow9)を実行。

anim idle
@script
if(frame==5) {
void self = getlocalvar("self");
int incDM = getentityvar(self,9);
if (incDM<=0) { setentityvar(self,9,NULL()); }
if(incDM!=NULL()) { setentityvar(self,9,incDM-=1); }
}
@end_script

アイドル状態でピヨリ値1ずつ減少。AnimのFrameが最後の方まで描画されたら
減少するようになってます。または、Anim Sleepを設定しておいて、
そちらで下がるようにしても良いかも。
324: 2022/04/13(水)01:17 ID:aDur5ZAn(3/5)調 AAS
script @script
#include "data/scripts/escript.c"
void main()
{
void self = getlocalvar("self");
void par = getentityproperty(self,"parent");
void vict = getentityproperty(par, "playerindex");
void vict2 = getplayerproperty(vict,"entity");
int HP = getentityproperty(self,"health");
int HPmax = getentityproperty(self,"maxhealth");
if(HP>=80) {
spawn01("dmsuper", 0, 0, 1);
executeanimation(vict2, openborconstant("ANI_Follow11"));
bindentity(self, NULL());
killentity(self);
} else if(playerkeys(vict, 2, "moveleft")) { // Left is pressed?
changeentityproperty(self, "health", HP+4);
} else if(playerkeys(vict, 2, "moveright")) { // Right is pressed?
changeentityproperty(self, "health", HP+4);
} else if(playerkeys(vict, 2, "attack")) { // Attack is pressed?
changeentityproperty(self, "health", HP+2);
} else if(playerkeys(vict, 2, "jump")) { // Jump is pressed?
changeentityproperty(self, "health", HP+6); } }
@end_script
レバガチャ部分もシンプルで、方向キーで+4、アタック+2、ジャンプ+6で
80以上溜まったら成功(Follow11、リバーサル攻撃)
325: 2022/04/13(水)01:25 ID:aDur5ZAn(4/5)調 AAS
2行目で #include "data/scripts/escript.c" してるのは、
成功時の演出 spawn01("dmsuper", 0, 0, 1);の為だけです。

anim spawn
@script
void self = getlocalvar("self");
changeentityproperty(self, "health", 1);
@end_script
最初に Health 100(MaxHP)などと設定しておき、Anim Spawn時に
現HPを1にしています。
これを プレイヤーにBindEntity するのですが、スクリプト上方のSelf,Par,Vict,Vict2
ここを理解するのに頭こんがらがるかも知れませんね、元々他のモッダーさんが組んだ
スクリプト(古くからあるのでBloodBane氏でしょうか?)をアレンジしましたです。
326: 2022/04/13(水)04:05 ID:aDur5ZAn(5/5)調 AAS
元々、仕様とバグのギリギリいってる手法なので、
ピヨリ中にもう一回敵からのBindEntityを利用した攻撃を受けると
OpenBoRが落ちますw
やっぱり標準コマンドで何とかしたほうが良さそうですね。
レバガチャで回復早めるとかしなければ、EntityVarを使って
値を蓄積して、一定時間無防備になるというのは
バグの危険なく可能です。
中々難しいものですね。
327: 2022/04/17(日)02:42 ID:xLR26ELd(1/3)調 AAS
なんか煮詰まったので、プレイアブルキャラ作成に逃避。
ムゲンからキャラのインポート(聞こえが良いですね)。
ここで新たに、光弾問題に遭遇、どうもDBキャラはいろいろ撃ちますが、
単純に弾を撃つならCustKnifeなりで作ればよいし、誘導弾ならType NPCのSubType Chaseとかで
追尾させればよいのですが、なんとなく弾幕作りたいな〜とかやってドハマリ中。
通常攻撃とシンプルな特殊技はこんな感じかな?
tu.be/_xQBhCUit8c
328: 2022/04/17(日)03:48 ID:xLR26ELd(2/3)調 AAS
SpawnEF S{vName} {X} {Y} {Z} {S} {A} {R} {Ani}
ナニコレ?
私個人のスクリプトですが、上の動画でも多用されています。
XYZは単純に座標、SはScale(Zoom)AはAlpha(透明度)R(回転)Ani(Anim)
本来、複雑な手続きを簡略化するのもスクリプトのメリットの一つだと思いますが
色々出来るようにして、かえって煩雑になった悪例w
ちゃんと設計やらしない大雑把な性格そのままです。
怪我の功名とでもいいますか、一つAnimがあれば回転拡大縮小をつかって
さまざまなエフェクトに活用出来そう。
ただし、ソースを見ないと意味不明、ですが、自身のオリジナルではないので
アップは憚れるという、ムゲンと共通のジレンマ。
オリジナルの作者様には尊敬しかないです。
329: 2022/04/17(日)16:44 ID:xLR26ELd(3/3)調 AAS
openBoRには標準でsin cos atanなど揃っていたので、扇弾を弄ってたのですが
考えてみれば敵はそんなのお構いなしですし。
自分が敵にやられたらイラだつだろうしで、全方位弾にしました。
おおよその敵の方向に撃つ直進弾がたまに止まっちゃいますがご愛嬌w
一見おおっ!となっても実は使い道の無い技ということで。
特に敵以外との衝突判定はしてないので32×4射ってますが
さすがopenBoR処理落ちなどしないですね。
セブンティーン氏が洪水おこしてますが、技が思いつかないので適当です。
Krrnはサポートに飛び込んできて、入力に連動して攻撃を繰り出すように出来ないか考え中。
330: 2022/04/18(月)12:39 ID:+se/Swu+(1)調 AAS
何の事だと思ったら、動画の話しなんですね。
まだ、何も分かりませんが、日本語での解説ありがたいです。
331: 2022/04/19(火)03:14 ID:a3xIrRSp(1/2)調 AAS
>>275
Anim Death 中に SpawnFrame を実行させれば
倒されるたびに新たな敵({Entity}なら何でも)を出現させられます。
Anim Deathを必ず実行させる為に Falldie 1or2(Death 1or2)
nodieblink はお好みで設定すればOK。
ですが Level(ステージやBranch)の中で Group 1 2 など出現キャラ数に
制限をしていると、SpawnFrame が実行されないので注意です。
Weapon で設定した場合、一定数転んだら別キャラ({Weapon})のような感じだったり
任意のタイミング(Freespecialなど)で切り替えたりして変身的に使えます。
{Weapon や Entity}で継承される技(Anim {xxx})が被ったりすると
上書きされたり(止める事もできますModelflag)するので気をつけないと
謎の技が暴発したりしますw
Weapon を使うなら Animal も研究すると面白いかもしれませんね。
332: 2022/04/19(火)03:24 ID:a3xIrRSp(2/2)調 AAS
>>別キャラ({Weapon})
({WeaponFrame} や{WeapLoss} などを設定して切り替わるようにする)。です。
このあたりの設定の細かさは流石です。
333: 2022/04/20(水)21:43 ID:PW9VJXxm(1)調 AAS
weaponの技の上書きというより、マージと言ったほうがわかり易いかも?
Anim Freespecial1のみプレイヤーキャラにあって、weaponにAnim Freespecial2があった場合、武器を拾ったプレイヤーは両方使えるようになります。
Modelflag{0,1,2}を設定してないと、混ざったままになってしまうことがあるということですね。
334: 2022/04/22(金)01:04 ID:g9+olsrt(1)調 AAS
算数も割り算の時点で微妙な私は、もちろんプログラムなんて全く分からなかったけれど
kt住江さんの作品に出会ってOpenBoRを知って、なんとか拡散砲を撃てるようになりました。
リソースは全部ひと様のものなので本来動画すら微妙なんですが、
スクリプトの中身見たら四則演算って知ってる?って感じですが
そんな私でも、For文とDrawmethodを組み合わせると、
こんな感じも演出出来てしまう。そしてすっごく軽いOpenBoR凄いという話です。

tu.be/hpDEMufHzC8
335: 2022/04/25(月)03:51 ID:vu/W7WGq(1/2)調 AAS
NO18さんの体力低下時スペシャルKRRN
最初はプレイヤーは空中に退避、各ボタン押下でMPに応じて技を繰り出す
というような感じにしたんですが、操作が煩雑になるので連打に
なんか連打も面倒(ピヨリで十分イライラですし)。
結果、全ての敵のそばに出現して勝手に暴れるように
ただ、これをやると、その後MPの回復を0か遅くする、
またはタイマーセットで規制しないと
体力下げてスペシャル連打でいいよね?になってしまうのですが、
そのへん作り込むのは面倒、良いアイデアないでしょうか

tu.be/iCGEtG9JQ8w
1-
あと 321 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s