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

281
(1): 名前は開発中のものです。 [sage] 2022/02/27(日) 20:37:32.32 ID:ofDNDNVo(3/6) AAS
経過したら、攻撃コマンドを実行させるというもの。
プレイヤーを掴むときはスクリプトのslamstart〜positionコマンドで拘束します。
実際にmodをプレイしたほうがわかり易いかもw
282
(1): 名前は開発中のものです。 [sage] 2022/02/27(日) 21:01:29.27 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): 名前は開発中のものです。 [sage] 2022/02/27(日) 21:07:55.32 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): 名前は開発中のものです。 [sage] 2022/02/27(日) 21:51:12.10 ID:ofDNDNVo(6/6) AAS
別のテストのときの動画なので、ちょっと混沌として分かりずらいですが
レバガチャの様子がが映ってたので参考になれば。

tu.be/V4o4JU56YFU
285
(1): 名前は開発中のものです。 [sage] 2022/02/28(月) 02:55:23.68 ID:T0w0iYnz(1) AAS
>>280-284
ぐおおおおお!お手間取らせました、すみません!

やっぱり簡単にはいかないんですね…全く理解が及びませんw
少しずつやってみようと思います、ありがとうございましたm(_ _)m
286: 名前は開発中のものです。 [sage] 2022/02/28(月) 18:49:21.11 ID:e4RME2GR(1) AAS
>>285
mod トラブルインサウスタウンの data/chars/misc/grab/grab1.txt
に上のレバガチャentityがあります。
基本 >>251
251(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)とセットで使います。
打撃からの投げや、フィニッシャーなど、スクリプトのヴァリエーションで色々違うので、
お持ちのスクリプトファイルを覗いてみてみてください。
のようなslamスクリプトと一緒に混ぜて使います。
modをプレイして動作を実感したあと、entityのtxtやスクリプトを
覗いたほうが理解しやすいかも?
txtをコピーしてキャラ画像を差し替えてみたりとか。
私は良く関係無い画像を表示させて、しおりというか目印にしてますw
287
(1): 泥酔迷走スーパーラリー [sage] 2022/02/28(月) 20:37:06.80 ID:ya7gt2me(1/2) AAS
ファイルが大きすぎる上に投げ抜けできた試しがないので
Bad SchoolGirlsの
ひなたとかの方が良くないですかね?
受付時間がひどいですけど
288: 泥酔迷走スーパーラリー [sage] 2022/02/28(月) 21:05:31.57 ID:ya7gt2me(2/2) AAS
545c . com /f/13296827-500775648-7a875b
(空欄3個)
パス? afeidanji
289: 名前は開発中のものです。 [sage] 2022/03/01(火) 02:54:01.00 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: 名前は開発中のものです。 [sage] 2022/03/04(金) 03:31:38.49 ID:y6oPXV1f(1) AAS
キャラクタの登場が大爆発だったり、specialアタックが天空高くヒップアタックだったり
謎のシュールさが良い味のmodを提供している、
G.P.Smith氏がHAG+3というmodを上げてらしたんで、
もしやと思ってプレイしてみましたが元のmodはHAGv5.0のようです。
v5.0とv6.0の違いはプレイアブルキャラだけのようですが、
剣を持ったWWがプレイヤーキャラだったりと中々カオスですw
スクリプト無しでかなり軽いんで人気なんですかね?
291: 名前は開発中のものです。 [sage] 2022/03/04(金) 07:39:18.87 ID:vVdcxQXF(1/2) AAS
もう少しだけヒントを
是非お願いします!
292: 名前は開発中のものです。 [sage] 2022/03/04(金) 08:56:57.17 ID:vVdcxQXF(2/2) AAS
284様ありました!
情報ありがとうございます!
293: 天堂少女6.0探しています [sage] 2022/03/04(金) 10:31:25.42 ID:cEKsJ0D+(1/3) AAS
天堂少女6.0探しています
ありがとうございます!やってみたけれども
Dボールの嫁(18gou)さんとかB.jenetさんとかがいなかった
本物はキャラクター10人超えているはずで難易度セレクト的なものがあるはずです
これら本物?(中華)にしかない素材の断片をずっと探していたのですよね
でもなかなかうまくいきませんね
294: 天堂少女6.0探しています [sage] 2022/03/04(金) 11:12:53.78 ID:cEKsJ0D+(2/3) AAS
もしも見つけていたら更なるヒントを願っています
295: 天堂少女6.0探しています [sage] 2022/03/04(金) 16:23:19.06 ID:cEKsJ0D+(3/3) AAS
スミスちゃんはコウちゃん作品使っていた?というよりもむしろ
ほかの人の作品をアップしすぎです(笑)
296: 名前は開発中のものです。 [sage] 2022/03/05(土) 08:00:40.28 ID:p49CKOCm(1) AAS
KOH氏の特徴のあるキャラ動作までよく似てますね。私はキャラのモチーフの選定センス(こより等)と愛のあるグラフィックでKOH氏のファンです。
Smith氏の「細かい事はいいから勢いと爆発だ」的なセンスも好きです。
297: 名前は開発中のものです。 [sage] 2022/03/06(日) 03:35:38.26 ID:D4DSTBj4(1) AAS
お手本MODとしてかなり有名かと思います、CrimeBustersを480x270に対応させようと
いろいろ弄ってみましたが、どうやら既にあるっぽい?半分諦めムードw
せっかく作ったのでステージ1の動画(音声無し)。
P1とP2の操作コンフィグを同一に設定して擬似2Pプレイ。

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

ぬこの手 ぬこTOP 0.019s