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

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でやってたような?
省8
303: 2022/03/23(水)01:49 ID:YS0aCHsY(1/4) AAS
アニメカオスやHAGなど話題に上っていたので、私も”みたいなもの”を作りたいなと思いたち、
何もギミックなど無く、ただ敵を適当に配置してボスまで10分程度のステージ。
しかもステージリソースなどは他の方が作成したものをお借りさせて頂いてるのに、
それでも3日以上かかるという、自身のセンスの無さに辟易。
いくつか実験的なことをしてるとはいえ、混沌としてしまい、たびたびプレイヤーを
見失う事になる悲惨な構成。ただキャラをバラ撒くだけでもこんなに難しいとは。
まあある意味カオスだしいっか。
ステージ構成の〜.txt中でも@scriptで各種Entity(敵とかNPCとか何でも)をTossEntityで
ステージに放り込んだりできるのは発見でした。
ExecuteAnimationやPerformAttackなどで、ステージ登場時に特定の動きも
省2
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);
省10
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 で拾って、あとはよしなに。
省3
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);
省13
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
省1
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); }
省22
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 の便利さが分かるかと思います。

動画だと動画のフレームが跳んでしまって分かりにくいですが、
なんとなーく私のやりたいこと分かっていただけますでしょうか?
省1
321: 2022/04/12(火)02:29 ID:vWluw1zD(3/3) AAS
上のスクリプトは汎用性はほぼ無し、条件設定として
Health が25%切った相手を投げた際に30%の確立で発動な感じです
(動画ではテスト用に発動条件ユルユルですが)。
なのでやっぱり
攻撃者のAttack5 などに、相手側がリアクションとして Pain5 や Fall5 を
設定しておいたほうが結果手間が掛からないかと思います。
1-
あと 335 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s