X



☆ベルトアクション作成 Beats of rageスレッド☆
0001名前は開発中のものです。
垢版 |
2019/01/14(月) 03:57:54.21ID:BfjgfhbB
フリーのベルトアクション作成ツールBeatsofrageでオリジナルの
ベルトアクションを製作するスレッドです。
http://ime.nu/senileteam.segaforums.com/

なかったので立て直しました
0002名前は開発中のものです。
垢版 |
2019/01/14(月) 04:02:36.42ID:R9mMQjas
いくらググっても出てこないしデフォルトでついてる壁を消す方法と1ラインの作り方の詳細がほしい。
あとできれば放物線移動をするナイフの作り方も
0003kt住江 ◆/VMXjFOJew
垢版 |
2019/03/22(金) 23:06:02.20ID:nuPVe/4Y
こんばんは、皆様お久しぶりです。kt住江です。
去年の10月より開発中であった、東方二次創作ベルトアクション『巫女と吸血鬼』が、
無事完成しましたので、ここに報告します。

明日の夜9時にアップする予定ですので、僭越ながら宜しくお願いします。

>>1さん
スレ設立ありがとうございます。
今後も日本人のOpenBOR開発者のひとりとして、
頑張りたいと思います。

>>2さん
機会があれば、Beats of rageの日本版開発マニュアルを作りたいですね。
正直なところ、Beats of rageは初心者殺しだらけで、
わしも何度か、心が折れかけましたので・・・
0004kt住江 ◆/VMXjFOJew
垢版 |
2019/03/23(土) 21:12:45.65ID:U3LwF5EW
こんばんは、kt住江です。
新作『巫女と吸血鬼』が無事に完成しました。
ttps://ux.getuploader.com/gikotakurpg/download/77   12300

前作『くにおくんLA』は、コチラです。
ttps://ux.getuploader.com/gikotakurpg/download/46   12300 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0005kt住江 ◆/VMXjFOJew
垢版 |
2019/04/03(水) 21:37:36.49ID:oN3p4yD2
『巫女と吸血鬼』にて一部、おかしい箇所がありましたので、
修正バージョンをアップします。
ttps://ux.getuploader.com/gikotakurpg/download/79   12300 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0006名前は開発中のものです。
垢版 |
2019/04/06(土) 08:35:31.08ID:lyXiFoQr
>>1
ありがとうございます。
>>5
おつかれさまです。楽しませてもらってます。

ChronoCrash(海外サイト)だと、ログインやら英訳やらで大変なので
こちらで日本勢の情報交換ができるといいですね。
0008kt住江 ◆/VMXjFOJew
垢版 |
2019/04/16(火) 21:51:51.21ID:NREKrxKi
>>6さん
楽しんで戴けて、どうもありがとうございます。

僕もまだまだ、OpenBORマニュアルにて、
どのような効果を発揮するのかわからないプログラムがたくさんありますので、
今後はスレの皆様と情報交換しながら、より面白いゲームを開発できればと思っていますので、
僭越ながら、宜しくお願いします。

なお、次回作はアーケード版ダブルドラゴンモチーフの、
ダブルドラゴン二次創作を予定しています。
0010名前は開発中のものです。
垢版 |
2019/05/13(月) 12:25:32.20ID:PvWAiouI
今更SUPER Final Fight GOLD Plusの気に入らない所自分でいじってみたけど
数値置き換えてるだけでも楽しいな
一から作れたらもっと楽しいだろうな
0011名前は開発中のものです。
垢版 |
2019/08/10(土) 14:38:43.66ID:9CRYwala
borってパンチキック別枠としてコンボさせられないの?
攻撃が1種類だとどうしても作りたい感じにならないので…
0012名前は開発中のものです。
垢版 |
2020/11/04(水) 10:00:50.86ID:OIHDdznS
☆ アタマからっぽ日本人はマスコミのおもちゃ(笑) ☆
@日本人の精神を腐敗・堕落させ愚民化させろ!
A日本人の女を集中的に狙い洗脳しろ!
Bネトウヨ、ヘイトスピーチ等の言葉を浸透させ、同胞への批判を封じろ.
C韓国人識者に政治的意見を言わせ、御意見番化させろ.
D「同性婚・LGBTを全面肯定しない者は差別主義者だ!」という雰囲気を作れ!
E海外セレブやハーフモデルをもてはやし、「日本人は劣等人種だ!」と植えつけろ.
F「未だにガラケーの奴は笑い者」という雰囲気を作れ.
G「LINEに入らない奴は仲間外れ」という雰囲気を作れ!
H「日本人の男VS日本人の女」の対立を煽り、分断しろ!
I日本人同士で恋愛・結婚させない、子供を生ませないよう誘導しろ.
J日本同士で結婚していたら離婚させる方向に仕向けろ.
K我々がステマしてやれば無名女優も売れっ子女優に早変わり
Lイケメンブームを定着化させ、「男は外見が全てだ!」と洗脳しろ。
- ソース -
電通グループ会長 成田豊は朝鮮半島生まれ
http://ja.wikipedia.org/wiki/%E6%88%90%E7%94%B0%E8%B1%8A
0013名前は開発中のものです。
垢版 |
2021/02/04(木) 17:19:23.33ID:jX0oqsZX
>>11
ワイが質問の意味を取り違えてるだけかもだけど
アタックの種類はいくつか設定(レバー入れ攻撃とか)出来るので、そのいくつかのアタック毎にコンボ設定すれば良いんじゃないかな。
もしするとスクリプト導入しないと駄目だったかも。調べてみる。
無限のリソース導入できるようになったり公式?も相変わらず進化してるよね。
画像と当たり判定用意すれば、作りてに特殊な技能無くてもキャラや技がどんどん増やせるのが
OpenBoRの魅力の一つだと思うんで気軽にどんどん弄って遊ぼう
0014名前は開発中のものです。
垢版 |
2021/02/05(金) 01:19:54.77ID:abFcte/J
自分でキャラ差し替えしたりして遊んでたDataが出てきたんで中身見てみたら
当時の自分は別人格じゃなかろうかってくらい色々組み込んであって
何も思い出せない
今ではどうやるのか全く思い出せないステージ中の段差とか導入してあるし
一番問題なのはJtoK使ってもパッドが上手く動作しないことだったり
JtoK噛ましてればX-InputもD-Inputも関係ないですよね?
0015名前は開発中のものです。
垢版 |
2021/02/05(金) 23:23:09.57ID:abFcte/J
キャラ差し替えや、デバグなどで毎回パック、アンパックするのは面倒。
そんなとき、
ダミーファイル(何でも良いので例えばテキストファイルを拡張子をPakに変更)を
PAKSフォルダに一個だけ入れる(他のPakファイルは何処かに退避)
OpenBoRエンジンと同じ階層にDataフォルダ(中にキャラデータとか入ってる奴)を置く
そして普通にOpenBoRをスタートするとDataフォルダが実行されます。
0016名前は開発中のものです。
垢版 |
2021/02/07(日) 00:53:10.92ID:C9uSCc3y
少しOpenBORManualを見てみたら以前なら@Scriptを使わなければ出来なかった処理が
通常コマンドでできるようになっていますね。
2年前の質問なのでアレですが、投射物を放物線を描いて飛ぶようにするには
Bombというコマンドがあります、直線ならKnife
ジャンプ中専用にStar、あとBoomerangてのが追加されているようですね。
乗り物に乗ったキャラの落下処理をやってくれるRiderというのも面白そうですね。
0017名前は開発中のものです。
垢版 |
2021/02/07(日) 01:04:49.48ID:C9uSCc3y
kt住江氏の新作は逃してしまったのですが、息災そうでなによりです。
過去作でもプレイするたび繊細な作りこみに驚かされます。
なにより8x8ドットの情念とでも呼んだら良いのでしょうか、
プレイするたび発見があり、毎回とても楽しめます。
最近はユニティなどかなり簡易にゲーム開発できる環境になってきましたが、
OpenBoRならではのパラパラ漫画がアクションゲームになるという、
気軽さは他には無いものですね。
0018名前は開発中のものです。
垢版 |
2021/02/13(土) 01:37:26.65ID:IDjzs9Ej
各種リソースから材料をいただく際に便利なツール
Fighter Factory Studio(本来無限のキャラなどを作るものです)
openBoRStats(無限のairファイルを読み込んだり、offsetを調整したり)
Alferd Spritesheet Unpacker(スプライトを自動で切り抜いてくれる)
とくにASUはユニティなどでお馴染みの一枚の画像に大量のキャラなどが描かれた
ファイルを自動で切り分けてくれる優れもの。
0019名前は開発中のものです。
垢版 |
2021/02/13(土) 01:55:23.90ID:IDjzs9Ej
いま色々実験してるのが
BindEntity これは別々なEntityを関連付けて処理するというもの。
昔サイバーボッツという対戦ゲームがあったのだけど
プレイヤーが操作する機体は大雑把に身体と腕(主に攻撃担当)に別れていて
ロボットなので腕は回転したり、もげたり自在に動くのだけど
これを表現するには絵を何枚用意しても足りない感じなので
機体そのものと腕は別々に表示して絵を節約してたんだけど
それを表現可能にするといえば判っていただけるでしょうか?
BindEntityによって関連付けされたEntityは
たとえばプレイヤーのAnim Idleが実行されると
もう一方のAnim Idleも実行されるというもの
位置や向きを指定することも出来るし、使いこなせれば
ダークネスイリュージョンも簡単に作れそう。
ただし、Entityは別に専用のものを作ろう。
自分に自分をBindEntityしたら落ちました。
0020名前は開発中のものです。
垢版 |
2021/02/13(土) 02:09:06.65ID:IDjzs9Ej
maxAttacks 30
maxFollows 30
maxAttackTypes 30
maxFreeSpecials 30
上は Models.txt の一例です、
キャラクターなどの Entity.txt 内の記述に間違いが無いはずなのにエラーが発生する場合は、
Models.txt や Levels.txt 内の設定をチェックしてみても良いかも。
Follow や FreeSpecial はとても便利でついつい多用してしまいますが、
標準の設定では 12になっています。
それらを解除するのが上の max~設定、
メモリーや処理スピードの関係で初期値が低くされているのだと想像します、
昨今のPCであれば上げても特に問題は無いと思います。
0021名前は開発中のものです。
垢版 |
2021/02/19(金) 00:31:11.85ID:kAXiPLiE
anim special2
@script
void self = getlocalvar("self");
if(frame==0){
float MHealth = getentityproperty(self,"maxhealth");
float Health = getentityproperty(self,"health");
if(Health <= MHealth/2){
changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL2"));
}
}
@end_script
スクリプトを使うと結構いろんなことが出来ますが
なかでも結構便利なのが上で、スペシャル2(レバー入れ必殺ボタン)の
動作に「プレイヤーが最大体力の2分の1なら、FreeSpecial2を実行する」というもの
DCマニュアルの「ANI_xxx」を見れば色々と変えられるので
英語で判らんチンでも一度は覗いて見てはいかがでしょうか。
0022名前は開発中のものです。
垢版 |
2021/02/21(日) 22:41:48.70ID:ke3KkwTC
便利なスクリプト、敵との距離によって技の変化とか
anim runattack
loop 0
@script
void self = getlocalvar("self");
void target = findtarget(self);
int x1 = getentityproperty(target, "x");
int x2 = getentityproperty(self, "x");
int z1 = getentityproperty(target, "z");
int z2 = getentityproperty(self, "z");
if(frame == 0){
if(z1-z2<20 && z1-z2>-20 && x1-x2>-80 && x1-x2<80){
changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL4"));
}else
if(z1-z2<20 && z1-z2>-20 && x1-x2>-160 && x1-x2<160){
changeentityproperty(self, "animation", openborconstant("ANI_FREESPECIAL"));
}
}
@end_script
ダッシュ(→x2)中に攻撃した場合、敵との距離を測ってFREESPECIAL4と
FREESPECIALを距離によって発動するというもの。
毎度おなじ動作ばかりだと飽きやすくなるので、アクセントにどうぞ。
0023名前は開発中のものです。
垢版 |
2021/02/22(月) 01:12:07.12ID:Ak0x7Qvg
そもそも、@Scriptとか言われても意味ワカンネって感じの方は、
Open BoR 導入について とか検索してもらって、
どうすればPakファイルの中身の取り出し方を調べてみても良いかもです。
Pakファイルを解凍するとDataフォルダが出てくるんで、
そのフォルダの中にはいくつかのフォルダとTXTファイルが入ってます。
最初に一番いじることになるのは MODEL.TXTと CHARSフォルダかと思います。
これは ENTITYと呼ばれるファイルを設定しているもので、
プレイヤーや敵、障害物、アイテムの内容を設定しています、
簡単な所では必殺技出したら敵は全滅とかの決め事を纏めたもの。
attack 44 13 49 62 5 0 0 0 9 12
とか見ても何ソレて思うかも知れませんが、最初の2ケタの数字4つは
画面上のキャラクターの座標 横44 縦13 そこから横49ドット縦62ドットの位置
敵に当たった場合 5ダメージ与える 吹っ飛ぶか?0だから無し ガード不能か?0だから無し
ヒットマークなど演出は?0だから表示 攻撃が当たったら100分の9秒位止まる
攻撃の範囲は12ラインほどと知ってしまえば何て事はない数字の羅列になります。
実際 5ダメージの所を100にしてしまえば、ワンパンK.O.という事が想像できるかと思います。
0024名前は開発中のものです。
垢版 |
2021/02/22(月) 01:29:59.35ID:Ak0x7Qvg
基本ヨッパラって書き込んでいるので、てにをは、や日本語としてどうなのかについてはゴメンナサイです。
Pakファイルを解凍して出てきたDataフォルダの中にあるMODEL.TXTそして
CHARSフォルダを覗くと、キャラやアイテムなど色々な名前のフォルダが並んでいるかと思います。
だいたいフォルダ名は、キャラそのものを指して入る事が多いので適当のフォルダを開いてみると
たぶん大量の画像ファイルと一つかいくつかのTXTファイルが入っていると思います。
TXTファイルは大概キャラそのものの名前である事が多いので、見てみると最初に
Name XXX Type Playerとか HP 100 MP 100とか書いてあると思います。
ゲームに詳しい人は一目見ただけでなんとなく、名前はXXXでプレイヤーキャらで
体力は100で攻撃くらって0になったら倒されてしまうんだな、
MPって、何か技とか使うと減って、無くなると技が出ないとか?
と察することが出来るのではないでしょうか?
お察しの通りそのまんまの事が多いので、ゲームに慣れているほどわかり易い内容になっています。
0025名前は開発中のものです。
垢版 |
2021/02/22(月) 01:43:08.21ID:Ak0x7Qvg
少し戻りますが、MODELS.TXT これはOpenBoRの要と言ってよいファイルで、
プレイヤー、敵、アイテム、細かい演出などなどの基本を設定しているファイルです。
自分でMODを作り始めた時、試しに起動してみたらエラーで落ちた
そんな時は大概ここで読み込むファイルを指定し忘れたから、ということ多いです。
あ、エラーで落ちた!ってとき何処をみればいいのか?
OpenBoRのEXEファイルがあるフォルダにLOGSというフォルダあって、そこに
OpenBoRLog.txtというファイルがあるんで、それを開けば
XXXとかいうファイルLoadしろって言うけど、ねーからそんなもん
とか下の方に書いてあるんで、ソレをたよりに修正してゆくことになります・
0026名前は開発中のものです。
垢版 |
2021/02/23(火) 00:41:59.00ID:XlcKRtDD
MODELS.TXT を見てゆくと最初のほうの数行以外は殆どが
Know か Load で Data/Chars/xxxといった内容になっています。
大雑把に
Know はいずれ使うから覚えていてと指示しているもの
Load はすぐに Data/〜を読み込んでおくというもの
昔はPCのメモリも少なかったんで重要なもの(プレイヤーとか)だけ
読み込んでおいて、その他出番の少なそうなものは Knowにしておいて
必要になったものだけ都度読み込むという仕様だったようですが、
8ギガ超えのメモリを搭載しているのが当たり前の現在では
最初から全部 Loadでもよいようです。
とはいえ私の想像なので実は何か理由があるのかもしれませんが、
いまのところ全部 Loadでも不具合は無いようです。
0027名前は開発中のものです。
垢版 |
2021/02/27(土) 02:13:36.78ID:BZAtihYI
@script
if (frame == 1) {
void vSpawn;
clearspawnentry();
setspawnentry("name", "Test");
vSpawn = spawn();
bindentity(vSpawn, getlocalvar("self"), 50, 1, 60, 1, 0, 1);
}
@end_script

これは機能するのに

@cmd bindentity "test" getlocalvar("self") 50 1 60 1 0 1

これだと上手くゆかない
なかなか難しいものです
0028名前は開発中のものです。
垢版 |
2021/02/27(土) 02:45:28.85ID:BZAtihYI
必死になって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コマを数えたりしなくてすむのでなかなか便利です。
0030名前は開発中のものです。
垢版 |
2021/03/04(木) 01:04:42.36ID:flx7Tt6m
Open BoR のビルド違いによってMODによっては動作が変になる。
基本バージョンは3のまま結構な期間経過しています。
Build6391あたりが一番手に入り易く、公式的にも安定しているっぽいですが、
2016年あたりを境に過去のMODは動作がおかしくなったり
エラーで落ちたりし易くなるようです。動いてもキャラがブルブル震えて変な動きになったり。
原因としては Scriptを使っていることが多く、過去のビルド3789とか本体のファイルサイズが2メガ弱位だと
エラーが発生してもある程度受け流してくれるwのですが、本体のファイルサイズが3.4メガくらいになると
スクリプトや内部の予約語?的な名称を厳密に判断したりしてエラーが出易くなっているようです。
これは、MODにあったBuild環境のOpen BoRをMOD作者さんが提供してくれるか、
片っ端からちょうど良いビルドを探すしかないようです。
上記のファイルサイズが2メガ弱か3.4メガかの違いが大雑把な分け方になりそうです。
0031名前は開発中のものです。
垢版 |
2021/03/04(木) 01:18:13.47ID:flx7Tt6m
ご本人の許可は取ってないとは思うんですが、
kt住江氏の作品が海外で良くみかける上、
評判も良いよう(星で評価されてると大概5)なので
なんだか自分まで嬉しくなってしまいます。
Streets of Rage Z2 というキャラはメガドライブ版からの流用っぽいですが、
Final Fightなんちゃら系によくあるレベルアップスクリプトを導入していて
なかなか楽しめますね。
0032名前は開発中のものです。
垢版 |
2021/03/04(木) 01:30:05.90ID:flx7Tt6m
remove 0か1
これはハドーケン!とかナイフとかの飛び道具系 Entityのヘッダーに設定するのですが、
使うときは CustKnife xxx(このEntityに設定) ThrowFrame 1なんて感じで
投げると 0なら敵に当たったら消滅、1なら貫通する
xxx(投げられるEntity)これの HitFlash を爆発系のEntity(AttackをBlastにするとか)にすれば
連鎖爆発みたいなこともスクリプトを使わずに行えます。
よく血しぶきてきな演出で HitFlash を設定し、そのHitFlashにさらに CustBomb xxx
TossFrame 1なんてすればチがドバドバみたいなこともできます。
0033名前は開発中のものです。
垢版 |
2021/03/06(土) 03:14:00.97ID:jHze2gK/
結構便利なコマンド
anim Attack 内に記述して使う
cancel {start frame} {end frame} {hits} {sequence of inputs} {freespecial#}
start frame と end frame で指定したフレーム内で sequence of inputs のボタン入力があったら
freespecial# を実行するというもの
hits は当たったかどうか

anim attack3
loop 0
delay 5
offset 121 152
cancel 9 99 1 A freespecial3
frame data/chars/Test/empty.gif

こんな感じ
start frame は入力を受け付けるフレームなので、きちんと数える必要がありますが
end frame にかんしては99とか大雑把でOK

コンボに一味加える感じで使えます。
0034名前は開発中のものです。
垢版 |
2021/03/09(火) 01:00:15.73ID:vWs4Sul9
Rescue Command という Mod が Weapons を上手く使って変身を表現しているのが面白いですね。
そもそも Weapons とはゲーム中キャラクター(Entity)が武器を拾ったさいに
素人の想像では基になったキャラ(Entity)に武器のEntityを重ねて表示して
武器の分だけ攻撃力を上昇させたり、攻撃の判定を大きくしたりなんて処理をしてるのかな?
と思いますが、Open BoRでは 別なEntity、武器を持ったキャラの画像(Frame)を使った
Model に完全に切り替えることになります。
なので、Weapons に設定したからといって武器である必要はなく、完全に別キャラ(Entity)でよい訳です
別キャラなんで Anim Attack#はもとより SpecialやFreespecial だって完全別にしてOK
なので、初期は弱能力キャラで武器を拾うもしくは、初期キャラのSpecialなどで別キャラ(Entity)に切り替えることが
できる事になります。アイデア次第で夢が広がりますね。
強制スクロール時のキャラを設定する事ももちろんできますので、キャラ管理も楽になりますね。
0035名前は開発中のものです。
垢版 |
2021/03/09(火) 01:57:36.98ID:vWs4Sul9
Cancel コマンドについて飛び先は基本 Freespecial#である必要があります(@Cmdとか@Scriptとか言い出すとキリがないので)。
たとえば Anim Jump に Cancel 3 99 0 Freespecial# として、
Freespecial#に Jumpframeを組み込む事でダブルジャンプなんてことも出来るわけです。
これはプレイヤーに限ったことでは無く、どんなEntityでも良いわけで(一応Typeによって制限はありますが)
Range 設定などによって敵AIに色々設定できますが、やはりどうしても単調になりがちな敵の動作などに
ちょっとした味付けが出来るわけです。
私などは、ついついAnim Attackだから攻撃動作させなきゃなどと固まった考えに陥りがちですが
別に Anim Jumpにダッシュをさせたって良いわけです
もちろんAnimごとにOpen BoRの基本設定があるので、それに則った動作をさせるに越した事はありませんが。
0036名前は開発中のものです。
垢版 |
2021/03/09(火) 02:27:25.00ID:vWs4Sul9
基本的コマンド
Attack について、もっとも使われるコマンドの一つになるかと思います。
Open BoRで作られるModは殆どが2D横スクロールアクションで、
ゲーム画面でキャラクター(Entity)達は
左右への移動(X軸)手前や奥に移動できる奥行き(Z軸)
ジャンプなどによる上昇、下降(Y軸(A軸))で管理される事が基本になります。
そこでキャラクターが攻撃動作をさせようというときに Attackコマンドが使われます。
書式は
attack{#} {x} {y} {right} {down} {damage} {power} {block} {noflash} {pausetime} {z}
基本的に Frame(画像の表示)と一緒に使われます。
Frameの手前の行に Attack 10 30 50 50 10 0 1 0 10 20
などと数値を書き込むと、Attackの次に記入されたFarmeが表示されたとき
その画像が横100,縦200の大きさだった場合には、画像の左上0,0から横10ドット縦30ドットを基点に、
さらにそこから横に50ドット、縦に50ドットの範囲で四角形を形成し、
そこに敵などのEntityのやられ判定(Bbox)が重なると攻撃が成功したと判断され、
以降ダメージ(例では10)、吹っ飛ぶか?、防御は出来るか?、
当たったと表示するか?(打撃やチなどのエフェクト、1で表示しない、普通は0)
攻撃が成功したら設定した時間分硬直する、
攻撃がZ軸に数値分影響を及ぼす、
という動作が実行されます。
0037名前は開発中のものです。
垢版 |
2021/03/09(火) 02:36:19.87ID:vWs4Sul9
色々と書かれていてパニックになりそうですが、羅列された数字の意味が分かってしまえば
なんて事ないですね、特にゲームに慣れた方なら感覚的に理解できるかと思います。
Open BoRでは基本的にこの繰り返しで作られています。
画像が表示されて、それぞれに攻撃判定ややられ判定があって、ジャンプさせる事ができたり
走ったりが簡単に作れるようにAnimという形で基本設定がされています。
パラパラ漫画の要領がわかれば誰でもゲームが作れる、そんな素敵システムがOpen BoRなのです。
0038名前は開発中のものです。
垢版 |
2021/03/09(火) 23:07:14.40ID:vWs4Sul9
Bindentity を使って燃やされエフェクト
anim burn
@script
if(frame==0) フレーム0の時
{
void self = getlocalvar("self"); 自分の情報
void e; 仮の入れ物
clearspawnentry(); これから表示用の入れ物をクリア
setspawnentry("name", "BurnFX"); 表示用の入れ物に BurnFXというEntityをセット
e = spawn(); 入れ物に入れた Entityを出力する準備
bindentity(e, self,0,1,0,1,4); 自分自身に上の Entityをバインド(一緒に動く)
}
@end_script
delay 30
landframe 2
offset 225 198
frame data/chars/test/empty.gif 何も描画しないGIF画像
delay 300
frame data/chars/test/empty.gif
delay 20
frame data/chars/test/empty.gif
frame data/chars/test/down.gif 自分がダウンした画像
0039名前は開発中のものです。
垢版 |
2021/03/09(火) 23:08:13.02ID:vWs4Sul9
こんな感じで BurnFX(燃えた画像)というEntityをModels.txt で設定しおき。
Anim Burn はもともと炎上攻撃に対するリアクション専用 Animで Painと同じように使います。
炎上攻撃
burn {x} {y} {right} {down} {damage} {knockdown} {block} {noflash} {pausetime} {z}
アタックと同じようにつかいます。
他にShock電撃 Freeze冷凍など
とはいえエフェクトを用意しておかないと、あまり効果は感じません。
これの便利なところはキャラ(Entity)毎にやられパターンを作らずとも
共通のエフェクト(例ではBurnFX、冷凍ならFreezFXとか)を作れば
あとは Bindentityで貼り付ければいいわけです。
0040名前は開発中のものです。
垢版 |
2021/03/13(土) 00:39:54.70ID:eh+j2tUI
上でも少し触れましたが、基本はパラパラ漫画の要領で
1枚ずつ絵を表示して、その絵に攻撃判定ややられ判定を一緒に添え付ける事を繰り返してゆく。
一連の動作にしてゆくことになります。
動作のうち大雑把な纏めとして Anim(Animationの略)という括りで動作の整理が行われます。
攻撃その1なら Anim Attack1、ジャンプなら Anim Jumpなどなど
ただどのAnimでもかならず Frame という画像を表示するコマンドがほぼ必須で
例えば Anim Attack だからといって、いきなり Attack 0 0 30 80 10 0 0 0 10 10
などと書き込んでも機能しません、対というか属する Frameが必要になります。
Frame data/chars/test/test.gifなどと一緒に記述してはじめてAttackなどが機能します。
0041名前は開発中のものです。
垢版 |
2021/03/13(土) 16:15:01.43ID:R+3whepu
日本語による解説
ありがたいです。

自分の思い描いた
ゲームを(たぶん)
気軽に作れるのは
魅力的ですよねー
0042名前は開発中のものです。
垢版 |
2021/03/13(土) 18:45:04.39ID:5eJPgycF
いきなり質問何ですが、OpenBORstatsのLevel Designウィンドウの右上にある
チェック項目のPTrans ってFrontとPanelsの透過色の設定と言う認識で良いんですかね?
下の画面に反映される場合と反映されない場合があって悩んでいます…。
004342
垢版 |
2021/03/13(土) 18:46:37.43ID:5eJPgycF
上の質問は自分で作っているゲーム内の話ではなくて、他の方がすでに作ったゲーム内の
ステージを見てみると言う事です。
0044名前は開発中のものです。
垢版 |
2021/03/13(土) 22:15:34.36ID:eh+j2tUI
>>36
Attackの説明にて {Z}の所、ここが0だと同じ座標に並ばないと攻撃がヒットしません。
たとえば 10にすると攻撃者から手前側と奥側にも10ドット分判定が発生し攻撃があたり易くなります。
必殺技などは60なんて数値にすれば、かなりの敵を巻き込む事ができます。
同じように Bbox(やられ判定)でも {Z}の指定は可能で、数値の分やられ判定に厚みがでます。
大型の敵などに設定すれば、見た目の割りにスカスカで当たらないといったことも少なくなりそうですね。
0045名前は開発中のものです。
垢版 |
2021/03/13(土) 22:37:41.47ID:eh+j2tUI
>>42さん
せっかくスレが立ってたので適当な事をダラダラと書き綴っていました。
OpenBoR Statsに関しては、とくにLevelDesignとか殆どやったことがなかったので
透過色に関しての設定があるなんて今まで知りませんでした。
色に関しては結構いろいろ設定があるようで、グローバルなパレットを使うだの
個別に設定するだの、Drawmethodでさらに設定できるだの、
色々ありすぎて基本手を出さないようにしてます。
あと、私の使ってる OpenBoR Statsは0.53という古いもので
Levelを読み込むと色々透過前の色のままドバっと出てきます。
公式で話題になってるのはの 0.67のようですね。
0.67で見てみると、確かに右上にチェックボックスがあり、そこをチェックして
左上2番目のリロードを押すと、透過された表になりますね。
0046名前は開発中のものです。
垢版 |
2021/03/13(土) 23:16:12.22ID:eh+j2tUI
攻撃動作の設定例
anim attack
delay 4
offset 46 87
frame data/chars/karin/94.gif
hitfx data/chars/karin/sounds/karin_5-2.wav
delay 6
attack 54 8 67 50 10 0 1 0 10 20
offset 46 87
frame data/chars/karin/95.gif
offset 46 87
frame data/chars/karin/96.gif
これは適当なキャラの攻撃 Animになります
Delayというのは言葉からなんとなく想像できるかと思いますが
次に実行される Frameが数値分の時間表示されるというもので、
単位はおよそ100分の1秒、ゲーム(MOD)中では基準となる時間が流れていて
その中で、Delay 4であれば100分の4秒間 Frameで指定された画像が表示される訳です。
0047名前は開発中のものです。
垢版 |
2021/03/13(土) 23:28:50.14ID:eh+j2tUI
Offsetはこれ以降に表示される Frameの基準点(X座標の中心とY座標の0ベース(地面と接地する点))の
設定になります。100x100の画像を表示するとして例では左から46ドットが縦の中心線、
上から87ドットが地面と接する点となります。
毎回設定しなくても同じ座標でよければ1回で以降も機能します。
Delayに関しても同じ描画時間でよければ1回で以降も同じ時間表示されます。
そしていよいよ本番の Frameこれが無ければ何を設定しても機能しません。
基本、どんなコマンドも絵(Frame)と一緒ではじめて効能が発揮されると考えてOKです。
上の例では 94.Gifを一回表示して。
次に 95.Gifを表示すると共に Attackコマンド(攻撃処理)を実行。Hitfxは攻撃が当たったら鳴らす効果音。
そして 96.Gifを表示して終わる。
というもの、いろいろ記述されていて面倒そうですが、分かってしまえば単純ですね。
0048名前は開発中のものです。
垢版 |
2021/03/13(土) 23:43:16.40ID:eh+j2tUI
これらを踏まえて見てみると
Offset 46 87て3回書いてるゃん?
はい無駄です
anim attack
delay 4
offset 46 87
frame data/chars/karin/94.gif
hitfx data/chars/karin/sounds/karin_5-2.wav
delay 6
attack 54 8 67 50 10 0 1 0 10 20
frame data/chars/karin/95.gif
frame data/chars/karin/96.gif

一気にキレイになりました。
これDelay 6の所をDelay 9なんてすると 95.Gif、96.Gifが少し長く表示されます
さらに95.Gifと96.Gifの間に Delay 6と記述することで 95.Gifが他より長く表示され
人間の視覚的に強調される感じとなり、見ようによっては重い攻撃といった印象に
なる(なって欲しいな)かと思います。
こんな感じで動作に味付けしてゆきます。
0049名前は開発中のものです。
垢版 |
2021/03/14(日) 01:12:03.76ID:Xy6iR8cQ
結構便利なコマンド
Anim Block が記述されているとSpecialボタンを押すたび Anim Blockが実行されます。
さらに Entityのヘッダー(HealthやらMpやら記述するとこ)にHoldBolck 1と記述しておく事で
Spcialボタンを押している間ずっと Anim Blockが実行され続けます。
記載された言葉どおり 主に防御動作に使うものですが、基本一人でゲームを遊ぶ場合
防御動作だけでは、いわゆる固められてジリ貧になるのは目に見えてます(もちろんMODによりますが)。
で、この Anim Blockの面白いところは、Bboxを設定しておき、そこに敵の攻撃(Attack)が
ヒットすると、Anim Blockpainに処理が飛ぶというところ、そうここには別にやられ動作を仕込む必要は無く
逆に Attackコマンドを仕込むことで 防御すると 自動で反撃にすることもできるわけです。
自動で反撃にには他に Counterrangeがあり、こちらの方が汎用性がありますが
@Cmdや@Scriptを使わずとも既存の処理だけでプレイヤーの手数を増やすという意味で
とても効果的だと思います。
私はすぐ頭沸騰してしまい中々有用な手は思いつきませんが、Cancelコマンドも合わせると
かなり可能性は広がると思います。
ただただ攻撃連打して、敵が集まったらSpecialで一掃みたいな単調な展開になりにくくなるかな。
0050名前は開発中のものです。
垢版 |
2021/03/14(日) 01:15:14.34ID:Xy6iR8cQ
訂正 HoldBlock 1 です。
あとこれを使うと Special技(Anim Special)を使うには A(攻撃ボタン)とJ(ジャンプ)を
同時押しする必要があります。
0051名前は開発中のものです。
垢版 |
2021/03/14(日) 01:32:53.13ID:Xy6iR8cQ
私の例文で AnimとかAttackとかアルファベットの大文字で記述している所
もし万が一参考なんかにする事があったら、できるだけ実際には anim や attackなど
全て小文字で記述して下さい。
基本どちらでも良いのですが、Open BoR Statsなどで読み込むとき
コマンドの頭文字を大文字で記述していると認識されないことがあります。
スクリプトなんかを記述するときは大文字小文字区別するんで
なかなかに面倒ですね。
0052名前は開発中のものです。
垢版 |
2021/03/14(日) 02:06:32.98ID:Xy6iR8cQ
counterrange {start} {end} {condition} {damage}
FollowAnim と一緒に使う事で少なくとも4種類の追加動作をすることが出来る。
以前は CounterFrame といって特定のFrameを指定する必要があったのが
{start} {end} とあるように範囲指定(0から99とか)できるようになったので、
CounterRange を記述したAnimが実行されている間にBboxに敵のAttackがヒットしたら
追加動作(Anim Follow1〜4)に処理を飛ばす事ができるようになった。
followanim {value}ここに1〜4の数値を指定して処理を飛ばす。
Blockもそうだったけど、Bboxを設定しておかない機能しない。
似たものに CounterAttack 1というのがあるが、これは自身のAttackコマンドのヒット判定が
敵の Attackで指定した範囲にも効果が及ぶというもの、いわゆる相打ちOKて感じ。
0053名前は開発中のものです。
垢版 |
2021/03/15(月) 23:34:43.67ID:bg70rxpE
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を実行させる事ができるのです。
0054名前は開発中のものです。
垢版 |
2021/03/15(月) 23:49:59.96ID:bg70rxpE
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の機能が面白いですね。
0055名前は開発中のものです。
垢版 |
2021/03/16(火) 00:31:34.32ID:t+wd47Is
>>49 のBlockに関連したコマンドとして
guardpoints {int} intというのは整数という事です。ここで設定した数値分ガード(ブロック)できる。
guardrate {int} 上の数値の回復レート、mpのように設定した数値ずつ回復します。
そしてGuardPointがBlockするたび減ってゆき0になると下のAnimが実行される事になります。
Anim guardbreak

Block系は結構いろいろ設定が可能なようで、
thold {int}これを0で設定するとほぼ全ての攻撃をブロックしたり、
逆に10など設定しておけば11以上の攻撃はガード不能になります。
似たものにblockpain {int}があって、ここで設定した数値ぶんBlockすると
Anim Blockpainに処理が移行する。
敵やNPC用に防御率を設定するコマンドもあり。nopassiveblock {bi} biというのは 0か1
この辺の設定をしっかりすれば、防御の駆け引きも作れそうですね。
0056名前は開発中のものです。
垢版 |
2021/03/16(火) 17:28:14.56ID:FVENZVHs
project fgcというmodが格闘ゲームのように奥行きの無い2D作品です。しゃがみ動作もできるようになっているので2D研究用にも良いかもしれない。ver1.4辺りが手に入りやすい。
0057名前は開発中のものです。
垢版 |
2021/03/16(火) 23:36:37.91ID:t+wd47Is
FollowAnim 1
FollowCond 1
上の条件“同じAnim内のAttackがヒットするとAnim Follow1へ処理が飛ぶ”というものです。

@cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_FREESPECIAL1")
Frame data/chars/test/empty.gif
このコマンド文で強制的にFreeSpecial1に処理を飛ばすこともできます。
CounterRangeやCancelを使っても出来ることですが、力技で飛ばすのもたまには良いかも。
下の行のFrameはOpen BoRのお約束、基本的にコマンドには属するFrameが必要だから。
Attackコマンドの判定を消すには Attack 0という記述が必要です(もしくは別なAnimに移行する)が、これにも
Attack 0
Frame data/chars/test/empty.gif
といったように属するFrameが必要になります。
0058名前は開発中のものです。
垢版 |
2021/03/16(火) 23:42:20.95ID:t+wd47Is
スクリプト系は大変便利なコマンドが多いのですが無言で落ちたりするので注意も必要です。
あとお約束として@cmd 以降はアルファベットの大文字小文字を区別するのでさらに注意です。
0059名前は開発中のものです。
垢版 |
2021/03/17(水) 00:14:15.58ID:qqhuc2mx
なんだか色々偉そうに書き込んでますが、私は他人の作ったMODに
ぼくのかんがえたさいきょうのって感じで
無限などから拝借ゲフゴフしたプレイヤーキャラを登場させて悦に入る事しかできません。
まったくもってOpenBoRの仕様を理解しているわけではありません。
上の方のGuardPointsについてもAttaker側にGuardCostが必要だったり各コマンド実際には
さまざまな制限があります。
ですが、まああ、とりあえず弄って遊んでみましょう、時に新しいコマンドの使い方発見や
万が一MODなんか出来ちゃったら嬉しくない?というのが、私のやりたいことです。
スクリプトなんかについても他人のを勝手にコピペして動いた!ヤッター!程度のものです。
私が書き込んだのを信用してエラー落ち頻発で悶絶しても悪しからずでお願いいたします。
0060名前は開発中のものです。
垢版 |
2021/03/17(水) 01:27:39.23ID:qqhuc2mx
頼みの綱 DCマニュアルには 操作ボタンの中で
Accepted action inputs are:
A: Attack button
A2: Attack button2
A3: Attack button3
A4: Attack button4
J: Jump button
S: Special attack button
K: Alternate special attack button
とありますが、
この一番下のKボタンてどこなんだろ?
0061名前は開発中のものです。
垢版 |
2021/03/17(水) 01:36:13.25ID:qqhuc2mx
すぐ下にBlockのKだからSpecialと一緒、BはBackで使ってるし、
コマンド指定で混乱しないようにモッダーさんが自分で選んで使ってね
的なことが書いてありました。
ググル先生やディプル先生がいなかったら一生判らないですよ。
座標指定についてもXZA(Y)だったりXA(Y)Zだったり
微妙な違いがあって、悶絶案件は尽きないですね。
0062名前は開発中のものです。
垢版 |
2021/03/19(金) 02:35:44.16ID:hdeOB3k/
Palette none
私にとって結構重要なコマンド
Open BoRでは基本システムで用意されたパレット(絵の具のパレットと同じような意味)を
使ってFrameで指定された画像が表示されるのですが、ご存知の通り画像にも色々な種類があって、
常に共通のパレットで画像が描かれると不都合(肌色が緑とか)が出てしまう訳です。
そこでPaletteコマンドを使い、専用のパレットを指定して画像を表示することになりますが、
結構面倒だったのが、モデルのヘッダーでPalette noneを宣言することによって、
次の最初のFrameのパレットを基準として、以降のFrameも描かれることになります。
他のEntityや多彩なFlash(ヒット演出)を使うとき便利です。
0063名前は開発中のものです。
垢版 |
2021/03/20(土) 01:30:17.59ID:nx9KiXPx
com A2 freespecial
普通は上のように設定する事で A2を押すと Freespecialが発動します。
anim walk
cancel 0 99 0 A2 freespecial2
loop 1
delay 6
frame data/chars/test/test.gif
このように Anim WalkにCancel(3つ目の数値が0なのでA2押せばいつでも)を仕込む事で
Walkはレバーを入れている方向に歩くというAnimなので、
Comで設定してなくても実質 レバー入れA2 が成立し、
Freespacial2に処理が移行します。
Anim Runに入れれば レバーx2 A2が実質成立しますし、
Run Attackとの2択みたいなことも簡単にできますね。
0064名前は開発中のものです。
垢版 |
2021/03/20(土) 02:36:39.18ID:nx9KiXPx
grabin {type} {distance} つかみに関するもので格闘ゲームの吸い込みみたいな
forcedirection {dir} 相手を無理やり自分とは反対側に向かせたりする
damageonlanding {value} {type} 吹き飛ばし攻撃で地面にFallすると追加ダメージとか
dropv {height} {speedx} {speedz} 吹き飛ばし攻撃の高さや距離を、別ラインに強制移動させたり
nokill {bool} この攻撃ではHP1を残して生かしておく
stun {int} 設定した時間、硬直させる(Freezeみたいな)
seal {time} {energy} SpecialやFreespecialを設定した時間使用できなくする
forcemap {map} {time} 設定した時間強制的にmapのパレット色にする
noreflect {bi} Anim PainやAnim Fallに移行させずダメージを与える
jugglecost {int} 打ち上げ攻撃からの追撃(おてだま)回数管理
OTG {bi} Anim Fallずみの相手にもAttackをヒットさせたり
guardcost {int} Blockしてる相手のガード削り
DOT {Index} {Time} {Mode} {Force} {Rate} 設定した時間徐々にダメージを与える
staydown {rise} {riseattack} 強制的にダウンさせたままにする、起き上がり攻撃も遅らせる
これらは、基本Attackコマンドと一緒に使う事になります。
BurnやFreezeなど元々特殊な効能のあるAttackコマンドの派生とは別に、
特殊な状況を作り出すのに便利です。
0065名前は開発中のものです。
垢版 |
2021/03/20(土) 02:43:58.72ID:nx9KiXPx
例えば
Attack 0 0 50 50 0 1 0 0 0 0
dropv 4 1 0
こんな感じで設定すると、
Attackはダメージ0だけど吹き飛ばし効果あり
そしてDropvにより
吹き飛ばしの効果に上昇4横方向1奥行き0がプラスされます
いわゆる おてだま するとき便利ということになります
0066名前は開発中のものです。
垢版 |
2021/03/21(日) 02:32:40.10ID:xsxh/Aen
悶絶案件
Anim ChargeAttack(一定時間攻撃ボタンを押して、離すと発動)のタメ時間を設定する
ChargeTime これは、Anim ChargeAttackの中に記述しないと(例えばヘッダーとか)
落ちます、エラーログに原因が出力されずに。
マニュアルをちゃんと読めば何処で宣言すべきか書いてはあるんですが、
他のコマンドでは間違った場所でも特にエラーも出ず、無視されることが多いのに、
上のようにエラー出力せず無言落ちするものも一部ではあるので、油断できません。
ChargeAttack自体使い辛い(特にボタンを押してタメてるとか表示されない)ので、
滅多に使わないんですけどね、専用FXの設定とかあれば良いのですが。
逆にそういうのがエラー原因だとなかなか特定できなくて悶絶。
0067名前は開発中のものです。
垢版 |
2021/03/30(火) 01:38:56.46ID:1gbSxSh3
Anim Throw
なにげに Anim Grabからの派生だと思ってしまうかもしれませんが
単体(Anim Grabが無くても)で使用可能です。
Entityのヘッダーなどで設定(宣言)した GrabDistanceの距離に近づくと勝手に投げます。
ダメージもThrowDamegeで設定できます。
手数が増えますね。
0068名前は開発中のものです。
垢版 |
2021/03/30(火) 02:02:18.70ID:1gbSxSh3
それならAnim Grabに攻撃コマンドを設定したら?
Anim Grabの最後のFrameで一旦停止して入力待ちになってしまいます。
なので、上の直接Throwは実際には手数少なくなります。
OpenBoR のシステム上、Anim Grabからの派生 GrabUp、 Grab Down、 GrabForward
さらにそこからのAttack3や各Grabの2への合計6回分の攻撃が使えなくなるためです。
しかし、Anim Grabからの一時停止によるテンポの悪さは無くなるので、
いきなりThrowは、そこまで悪手でもないのかなと個人的には思います。
0069名前は開発中のものです。
垢版 |
2021/03/30(火) 10:33:03.24ID:1gbSxSh3
訂正 ThrowDamege X ThrowDamage O
Grabに関して、6回分の攻撃?
ThrowやAttack3(GrabAttackなどの3撃目)を出さなければ、
掴み抵抗など何も設定してない敵に、
2系(GrabUp2などの2系はGrabから3撃目のフィニッシュ攻撃)までAnimを用意してあると、
連打せずポチ・ポチとボタンを押す事で各方向2回ずつ攻撃できる(GrabUp・GrabDown・GrabForward分)ので
掴んだらやりたい放題になります。
ムゲンからのキャラ流用なんかだとモーションが余る事が多いので、
派生技が多くなるのは便利です。
0070名前は開発中のものです。
垢版 |
2021/04/05(月) 10:33:40.89ID:JCfKgngn
ロケットヴァイパーのシステムや敵をまるごと流用してるのに作りが雑なbriga de rua(英訳street fight)
キャラクター作りに愛が無い感じで正直微妙な出来
スクリプトの内用を理解しつつ改変してるようなので
それなりの技術力はありそうなのにゲームバランスやキャラの作り込みが
今一なんでなんとも勿体無い
ただわかる範囲では3まで作られているんで力尽きてるようでもなさそう
作者さんは飽きっぽい方なのかな
0071名前は開発中のものです。
垢版 |
2021/04/06(火) 01:42:29.99ID:XHHis+ii
Anim Follow#に処理を飛ばせる Followanim#これは
Grabの派生攻撃であっても記述すれば効果あるので
anim grabdown
delay 8
hitflash Flash2
hitfx data/sounds/beat4.wav
frame data/chars/test/ga1.gif
followcond 1
followanim 4
attack 92 114 28 39 13 1 1 0 10
frame data/chars/test/ga2.gif
こんな感じで組み込み、Follow4なんかには
よく使う攻撃なんか設定しておけば、その他のAnimとも共用できるので
便利に使えます。
一回しか使わないなら、そのまま記述しても良いのですけどね。
0072名前は開発中のものです。
垢版 |
2021/04/08(木) 01:35:22.90ID:91QCSGqP
いろいろなMODを楽しんでいると、いつものメニュー画面とは違ったものに出会う事もあるかと思います。
基本OpenBoRではDATAフォルダの中を読み込んで、各種メニューやセレクトシーンなどに移行するのですが
(level.txtだったりBGSフォルダの中だったり)。
DATAフォルダ直下にScript.txtが用意してあって中に、alwaysupdate 1などと記述してある場合
DATA/SCRIPTSフォルダ内にある Updated.cが優先して読み込まれ中に記述されてるスクリプトが実行されます。
MOD内で普遍的に使用されるスクリプトもここで定義されている事が多いので、
まずはここを探してみるのも良いかもしれません。
0073名前は開発中のものです。
垢版 |
2021/04/08(木) 02:02:29.42ID:91QCSGqP
訂正 level.txt → levels.txt
updated.c に関しては update.c(公式ではこっち)ですが、どちらも優先して読み込まれるようです。
こちらのスクリプトに記述するメリットは、オープニングメニューを派手にしたり、
その場でゲーム難易度などを変更可能にしたり、キャラにレベルアップの要素を仕込むときや
拡大縮小、ゲームの演出上の一時停止を組み込んだりなど、基本システムへの介入を可能にする事でしょうか。
各キャラ(Entity)に一つずつスクリプトを記述する手間が省ける(setglobalvarなどで変数を渡すだけで色々処理できる)
ような感じでしょうか。可能性は無限大になりますが、作る側に立つと脳天炸裂案件ですね。
0074名前は開発中のものです。
垢版 |
2021/04/09(金) 17:18:04.09ID:ncGtWkZW
開発中断か別なプロジェクト名に変わったのかも知れない
Demon Sluga 思い切りスクリプト使って
拡大縮小、キャラクターを飛ばしたり奥や手前から敵が出現したり、誘導弾を弾き返したり
全盛期のアーケードゲーム風に作られてます

手に入るヴァージョンによってかも知れませんが海外の環境依存文字を使っているため
一部手直ししないとステージ1すら始まりません
見るべきところは
models.txt
data/misc
data/misc/plane
この辺りの pu・i.txtやpu・d.txt、pu・.gif、
それらを呼び出すplaneb2.txtなどに関連するファイルの手直しになります
0075名前は開発中のものです。
垢版 |
2021/04/09(金) 17:33:36.00ID:ncGtWkZW
幼少の頃ゲームセンターで見た
ノリマロが大活躍するRescue Command remake
敵はオンナサンばかり
面白いのは 掴まれた時のレバガチャ要素
抜け出せないとダメージはもちろん、別なイベントに移行したりと
有効に使われてます。
ゲームバランス的に敵の攻撃力が高いのであれなら
defense all 0.1などモデルのヘッダーに記述して調整しましょう
0076名前は開発中のものです。
垢版 |
2021/04/10(土) 10:53:12.10ID:36EPLB+j
anim idle
loop 1
delay 22
offset 23 102
bbox 13 5 22 100
drawmethod shiftx 0
frame data/chars/ciel/std1.gif
drawmethod shiftx 0.02
frame data/chars/ciel/std1.gif
drawmethod shiftx 0
frame data/chars/ciel/std1.gif
drawmethod shiftx -0.02
frame data/chars/ciel/std1.gif
アニーメーションさせるなんて絵描けないしって方は上のようにすると
一枚の元絵が左右にゆらゆらします。
drawmethod shiftx 0 数値の0は何もしない、
+−の数値を入れる事で数値分元絵が変形します。
他に Scale 大きさ Rotate 回転など様々なオプションあり。
0077名前は開発中のものです。
垢版 |
2021/04/11(日) 00:13:20.60ID:9LUoOlWn
以前にCancelで気軽にダブルジャンプと書きましたが
anim jump
loop 0
cancel 1 9 0 j freespecial3
landframe 3
offset 33 121
delay 16
bbox 19 5 31 73
frame data/chars/ciel/jmp1.gif
frame data/chars/ciel/jmp2.gif
frame data/chars/ciel/jmp3.gif
delay 12
frame data/chars/ciel/jmp4.gif


anim freespecial3
jumpframe 1 2 1
landframe 3
offset 33 121
delay 16
bbox 19 5 31 73
frame data/chars/ciel/jmp1.gif
frame data/chars/ciel/jmp2.gif
frame data/chars/ciel/jmp3.gif
delay 12
frame data/chars/ciel/jmp4.gif
具体的にはこんな感じ
0078名前は開発中のものです。
垢版 |
2021/04/11(日) 00:19:43.51ID:9LUoOlWn
上の例では見たとおりAnimの表題だけ変えて中身はほぼ一緒
anim jumpland
loop 0
cancel 2 9 0 a freespecial2
delay 9
offset 33 72
frame data/chars/ciel/jmp5.gif
frame data/chars/ciel/jmp5.gif
frame data/chars/ciel/jmp5.gif
これはジャンプの着地に攻撃(A)ボタンを押しておくとFreespecial2発動
Anim Landなんかに同じような記述しておけば、投げられ受身に
反応してFreespecialを発動なんてことも自由です。
0079名前は開発中のものです。
垢版 |
2021/04/11(日) 00:32:07.96ID:9LUoOlWn
cancel 2 9 0 a freespecial2

この記述だと Frameの2〜9の間に Attackコマンドの有無に関係なく(0)
aボタンが押されたら FreeSpecial2を実行
え?例ではFrameコマンド3つしか無いけど?
スタートフレーム(2)は大事ですが終了フレーム(9)に関しては多すぎても
特にエラーにはならないようです。
3フレームで入力なんてきついなー、Delay 9となっているのでFrameコマンド
1つにつき100分の9秒あるんで、格闘ゲームみたいに忙しくなることはありません。
0080名前は開発中のものです。
垢版 |
2021/04/11(日) 00:41:33.67ID:9LUoOlWn
訂正 3フレームで入力 → 1フレーム
Frameの数え方なんですが、コマンドでフレーム数を数える場合
どうも1番目は 0と数えるようです。
なのでFrameコマンドは 0,1,2の3フレーム
Cancel コマンドの記述は 2、9とありますが9フレーム目なんてないので
Cancel コマンドの判定は 2フレーム(3番目)の一つのみになります。
このFrame数を数えるのが以外に面倒で、Cancelコマンドなどは特に問題にならないのですが
LandFrameやThrowFrameなど間違えるとゲームが遅延したりすることもあるので注意です。
0081名前は開発中のものです。
垢版 |
2021/04/12(月) 01:07:22.51ID:rapSeOc5
スクリプトを無理やりねじ込む
didhitscript @script
void main() {
void self = getlocalvar("self");
void tar = getlocalvar("damagetaker");
void anims = getentityproperty(self,"animationid");
if(tar != NULL()) {
if ( anims == openborconstant("ANI_ATTACK3")
||anims == openborconstant("ANI_FREESPECIAL5")
||anims == openborconstant("ANI_FREESPECIAL6")
||anims == openborconstant("ANI_FREESPECIAL7"))
{
tossentity(tar, 4, -1, 0);
}
}
}
@end_script
普通はSCRIPTSフォルダに〜.cな感じで入れておくのですが、
特定のEntityでしか使わない時には、
ヘッダーに上記のようにスクリプトを直接記述するという手もあります。
Didhitscript というのは、こちらの攻撃がヒットした際に参照されるScriptで
この辺はOpenBoR側で規則が設定されているので、他人の使い方を参考にしたり
DCマニュアルを読み込むしかないですね。
0082名前は開発中のものです。
垢版 |
2021/04/12(月) 01:15:42.00ID:rapSeOc5
上の例では、Void Main(){ }となっています。これは攻撃ヒット判定が行われるたび
毎回参照されるという意味になります。
C言語準拠の記述になるので、この辺の記述や演算子については、
適当にC言語 演算子などで検索してみてください。
で、内容としては、何らかのターゲットに特定(Attack3やFreespecial#)の攻撃がヒットしたら
いつもより大きく吹き飛ばします(TossEntity)。
それぞれのAttackコマンドにDropvなど設定すれば同じ効果は得られますが、
このスクリプトを使う事でAnim単位で動作を変化させる事ができるのがメリット。
0083名前は開発中のものです。
垢版 |
2021/04/13(火) 00:39:56.52ID:r7OWv6Qx
void EnemySpawn(float fX, float fY, float fZ)
{
void self = getlocalvar("self");
void vSpawn, vName;
int iMHealth = getentityproperty(self,"maxhealth");
int iHealth = getentityproperty(self,"health");
int iDirection = getentityproperty(self, "direction");
int iR = rand()%10 + 10;
if (iR >= 0 && iR < 4){
vName = "roxi";
} else if (iR >= 4 && iR < 8) {
vName = "Yanyu";
} else if (iR >= 8 && iR < 12) {
vName = "Sakura";
} else if (iR >= 12 && iR < 16) {
vName = "Spiral";
} else {
vName = "Heiderna";
}
clearspawnentry();
setspawnentry("name", vName);
if (iDirection == 0) { fX = -fX; }
fX = fX +getentityproperty(self, "x");
fY = fY +getentityproperty(self, "a");
fZ = fZ +getentityproperty(self, "z");
vSpawn = spawn();
changeentityproperty(vSpawn, "position", fX, fZ, fY);
changeentityproperty(vSpawn, "maxhealth", iMHealth);
changeentityproperty(vSpawn, "health", iHealth);
changeentityproperty(vSpawn, "direction", iDirection);
}
0084名前は開発中のものです。
垢版 |
2021/04/13(火) 00:46:02.19ID:r7OWv6Qx
上のスクリプトは、vName="Spiral"や"Sakura"など5種類の敵(Entity)を
ランダムに出現させるものです。
changeentityproperty(vSpawn, "maxhealth", iMHealth); 最大HP
changeentityproperty(vSpawn, "health", iHealth); 現在HP
changeentityproperty(vSpawn, "direction", iDirection); 向き
この辺は好みでランダム(rand()%200+ 50)とか設定しても良いでしょう。
0085名前は開発中のものです。
垢版 |
2021/04/13(火) 00:50:45.59ID:r7OWv6Qx
name REnemy
type Enemy
health 100
nomove 1 1
nodrop 2
lifespan 1
defense all 1.0
offense all 1.0
animationscript data/scripts/REnemy.c
load roxy
load Yanyu
load Heiderna
load Sakura
load Spiral
anim spawn
delay 10
offset 1 1
frame data/chars/misc/empty.gif
@cmd EnemySpawn 0 0 0
frame data/chars/misc/empty.gif
anim idle
delay 100
offset 1 1
frame data/chars/misc/empty.gif
これをMODELS.TXTにEntityとして設定します。
spawn REnemy
alias Island_Guard
map 1
coords 500 270
at 3200
そして好きなLevelのテキスト内に上のように記述すれば、そのポイント到達するたび
設定したランダムな敵(Entity)が出現するわけです。
0086名前は開発中のものです。
垢版 |
2021/04/13(火) 00:57:10.12ID:r7OWv6Qx
ステージを作ってるとどうしても内容を覚えてしまったりで、
だんだんテストプレイも飽きてきますので、ちょっとした気分転換になるかな?
敵を増やしたとき、スクリプト側とモデル側を少し書き換えるだけで登場させられるので
少しだけ手間が減らせるかなと思います。
もちろんEntityでさえあれば良いので、登場させるのはNPCだってITEMだって良いわけです。
0087名前は開発中のものです。
垢版 |
2021/04/13(火) 01:17:53.40ID:r7OWv6Qx
@cmd EnemySpawn 0 0 0
frame data/chars/misc/empty.gif
この部分を
@cmd EnemySpawn 0 0 0
@cmd EnemySpawn 40 0 0
@cmd EnemySpawn 80 0 0
frame data/chars/misc/empty.gif
なんてすれば、敵が3人ずつ登場します。
0088名前は開発中のものです。
垢版 |
2021/04/13(火) 01:36:45.64ID:r7OWv6Qx
Anim Blockを設定してしまうと、Special用のボタンを押すたびAnim Blockが実行されてしまい
Specialは標準攻撃(A)とジャンプ(J)の同時押しで発動ということになります。
Anim Blockに攻撃モーションを設定したり、Anim BlockPainに攻撃を設定したりすれば
攻撃にもカウンターにも使えるので、想像力次第でいかようにも使えるのですが。
OpenBoR側でもともと設定された機能としてSpecialだと攻撃を受けたり、掴み攻撃を受けたり
そんなときも1ボタンでSpecial発動できるメリットもあるわけです。
そんなとき意外と忘れられがちなSpecial2(レバー入れスペシャル)にガードポーズを組み込み
FollowAnim#などで反撃モーションなど入れておけば、1ボタンでスペシャルの利便性を残しつつ
ガードも可能になります。もっと忘れられがちなのがジャンプ中にSpecialのJumpSpecial
もともとジャンプには垂直(JumpAttack)レバー上ジャンプ攻撃(Anim JumpAttack3)
レバー下入れ(Anim JumpAttack2)前方ジャンプ攻撃(JumpForward、ForwardJumpと紛らわしい)に
Anim RunJumpAttackと多彩な動作が可能なので、あまりJumpSpecialを使う機会は無いのですが。
ついでにコマンド設定 Com D F A Freespecial2などで、
Com B B A Freespecial なんてすると、レバー入力的には ← → Aという事になります。
0089名前は開発中のものです。
垢版 |
2021/04/13(火) 18:04:23.86ID:pM+4VIKL
一番出し辛い攻撃はRunSlideだと思う
Run→→中に↓ジャンプ、自然な動作としては
スライディングかなあ
OpenBoRに最初から設定されているAnimは
大概過去に存在したゲームからヒントを得ているぽいね
0090名前は開発中のものです。
垢版 |
2021/04/14(水) 00:12:02.00ID:Bl01iZfT
Anim Pain
@script
int Crnd = (rand()%20)+10;
if (frame==0 && Crnd>26) {
changeentityproperty(getlocalvar("self"), "animation", openborconstant("ANI_PAIN4"));
}else if (frame==0 && Crnd>18){
changeentityproperty(getlocalvar("self"), "animation", openborconstant("ANI_PAIN3"));
}
@end_script

例ではAnim Pain1(攻撃を受けた際のリアクション)
本来Attack2 なら Pain2…Attack4 → Pain4 など対応するAnimは固定されいてる(と思う)。
changeentityproperty(を使って強制的に別なAnim を実行させてみる。
まあ気分転換くらいなものですが、攻撃のリアクションを一つ一つ設定するのって
コピペで良いとはいえ結構労力つかうんで。
0091名前は開発中のものです。
垢版 |
2021/04/14(水) 00:20:22.41ID:Bl01iZfT
上の例だと、もちろんAnim Pain3とPain4は設定しておかないと駄目です。
いろいろと検索していると、ユニティとかアンリアルとか目にしますが、
一つのゲームを完成させるとなると結構な労力になると思うのですが、
OpenBoRって基本ゲーム(BeatsOfRage)を土台にすれば、ともすれば
いわゆるツクールより楽にアクションゲームを完成させることが出来ると思うんです。
やはり知名度なんでしょうか?他人のプログラムの改変であっても、一個のゲームまで
いかなくてもキャラ一つでも弄ってみたら嵌ると思うんだけどなぁ
スクリプトとか小難しく言っちゃうのが駄目なのかな
0092kt住江 ◆/VMXjFOJew
垢版 |
2021/04/16(金) 03:27:16.33ID:kkjyE+N0
最近復活しました、kt住江です。
長らくスレから遠ざかってしまい、申し訳ありません。
現在新作としてダブルドラゴンのゲームを創意開発中です。 
↓開発中のダブルドラゴン用敵キャラ
ttps://twitter.com/ktsuminoe/status/1379416846458253314/photo/1

そして、kt住江のゲーム保管庫が出来上がりましたので、
皆さま、僭越ながら宜しくお願いします。
ttps://amberusagi.theblog.me/posts/13123474
https://twitter.com/5chan_nel (5ch newer account)
0094名前は開発中のものです。
垢版 |
2021/04/18(日) 20:34:55.61ID:FUfakm3o
kt住江氏の作品はやはり流石の出来ですね。
アクションのバランスも良くて、強技出してればクリアなんて事は無く。
微妙なmodにありがちな敵に殴られる位ならスペシャル連打でいいや、なんて事が無いのが素晴らしい。
敵ごとにちゃんと対処しないと1クレジットクリア出来ない、絶妙なバランスで、とても楽しませて頂きました。
グラに関しても解像度が高ければ良いってものじゃ無いのがとても良く分かります。
0095kt住江 ◆/VMXjFOJew
垢版 |
2021/04/19(月) 18:52:55.18ID:bjKqc+m0
>>93さん
DLしてくださり、ありがとうございます。
ごゆっくりと、ゲームをお楽しみください。

>>94さん
ありがとうございます。そう言っていただけると、開発したかいがあります。

現在、ダブルドラゴンのゲームを開発中ですが、
2012年の『ギコタク』から続いて『カオスファイト』『コテハンファイト』
『アインバイン』『くにおくんLA』『巫女と吸血鬼』『削除隊』と7作も作ると、
流石によくある攻撃を仕掛けてくるザコ敵はともかく、
中ボス格の敵キャラのアイディアが狭まってきました。
毎回、どんな攻撃をしてくる敵キャラを出そうかというアイディアで悩んでいますので、
僭越ながら、敵キャラのアイディアを出していただけると大変助かります。
参考に開発中のダブルドラゴンの粗筋をご紹介します。

ダブルドラゴン4でリー兄弟がレネゲーズを壊滅させた数か月後・・・
西海外の町、サンフランシスコに突如出来上がった格闘道場『フェニックス』の
稽古中を捉えた写真には、死んだはずの宿敵ウィリーの姿が映っていた。
ウィリーが蘇った真相を探るため、ダブルドラゴンはサンフランシスコへと乗り込む!
0096名前は開発中のものです。
垢版 |
2021/04/20(火) 22:57:09.31ID:N5Bx9E2D
@script
{
if (frame == 48) {
void vEnt,self = getlocalvar("self");
int dx =100,dy=0,dz=0;
int dir = getentityproperty(self, "direction");
int tgtdir = 0;
if(dir==0) { dx = -dx; }
setlocalvar("T"+self, findtarget(self));
void target = getlocalvar("T"+self);
void TType = getentityproperty(target, "type");
tgtdir = getentityproperty(target, "direction");
if( getlocalvar("T"+self) != NULL()&&TType == openborconstant("TYPE_ENEMY"))
{
int Tx = getentityproperty(target, "x");
int Tz = getentityproperty(target, "z");
changeentityproperty(self, "position", Tx+dx, Tz+dz, dy);
if (dir == 0)
{
if (Tx+dx > dx)
{ changeentityproperty(self, "direction", 1);
} else { changeentityproperty(self, "direction", 0); }
} else {
if (Tx+dx > dx)
{ changeentityproperty(self, "direction", 0);
} else { changeentityproperty(self, "direction", 1); }
}
} else { changeentityproperty(self, "animation", openborconstant("ANI_FAINT")); }
}
}
@end_script
0097名前は開発中のものです。
垢版 |
2021/04/20(火) 23:12:55.15ID:N5Bx9E2D
改行多杉かと思ったら通った。
プレイヤーの周囲にいるTYPE_ENEMYを探して、
いたらENEMYの後方100ドット(int dx=100)にテレポートする。
最初のFrame[==48というのがテレポートを実施したいFRAME数
ここをFrame==0にすれば、いきなり跳ぶ
下の方にANIM_FAINTというのがあるが、これは該当する敵が居なかったときに
移行するAnimで、別にANIM_IDLEなどでもよいし他の技でもいい。
まあ、Move 100とかしてFlipFrameで反対向きにしても、それっぽい事はできるんですけどね。
スクリプトだと結構いい感じにテレポートしてくれるんですが、
どこかに嵌ってる敵にも反応してしまいます(そのまま穴に墜落とか)。
画面の解像度数を拾って+−補正すれば良いのですが、とりあえず、
敵の座標を拾って、そこに移動(プレイヤーの座標を書き換える)
条件を満たさなければ別なAnimに移行する
この辺が分かり易ければよいかなと思います。
分かり易く
0098名前は開発中のものです。
垢版 |
2021/04/21(水) 00:05:05.46ID:fX+bN6sg
X Frame[==48 O frame == 48 or frame==0
X ANIM_FAINT O ANI_FAINT
X ANIM_IDLE O ANI_IDLE

間違えると落ちるとこばかりミスった、すいません。

まだ試してませんが、敵に仕込んで跳び先(TType)をTYPE_PLAYERにすれば
後ろにテレポートしてくるウザイ奴にできるかもしれません。
0099名前は開発中のものです。
垢版 |
2021/04/21(水) 00:57:17.50ID:fX+bN6sg
>>95 見逃していました。いつも楽しい作品をありがとうございます。
DDシリーズとても楽しみです。
どの作品でも、敵キャラの動きに表情というか個性を感じられ
予備動作や「間」にとても愛情を感じる事ができ、
次はどんな技を使ってくるんだろう?と敵を倒さずウロウロしてみたりしてます。
さっさと倒して駆け抜けようとしても強技連打が通用せず意外と歯応えがあったりと
バランスの妙に感心するばかりです。
私は、プレイヤーキャラにテレポートや分身をくっつけて激しく連打など
プレイヤーの強化しか考えていないので、敵のちょうど良い塩梅の動作というのは
仰るとおり非常に難しいことだと想像できます。
クライムバスターズというMODの敵は多彩な動きをするんですが、
画面を斜めに横断するように攻撃してきたり、空中から遠距離攻撃連打してきたり
プレイヤー側の対処する技がSpecial位しか無く、ずっと作業になりがちなちょっとアレなバランス
敵の無敵が長すぎるのもフラストレーションになるでしょうし、難しいですね。
0100名前は開発中のものです。
垢版 |
2021/04/21(水) 01:02:42.96ID:fX+bN6sg
maxattacks {max}
 Default is 4.
maxattacktypes {max}
Sets the maximum number of attack types.
PAIN,FALL, RISE, BLOCKPAIN and DEATH animations limit is also set together with this.
{max} is number of available types.
 Default is 10 & maximum value is 99.
maxfollows {max}
 Default is 4.
maxfreespecials {max}
 Default is 8.

maxidles {max}
 Default is 1.
maxwalks {max}
 Default is 1.
maxbackwalks {max}
 Default is 1.
maxups {max}
 Default is 1.
maxdowns {max}
 Default is 1.
0101名前は開発中のものです。
垢版 |
2021/04/21(水) 01:20:08.86ID:fX+bN6sg
上の設定はMODELS.TXTに記述することで効果が得られます。
Entity(プレイヤーや敵など)で利用するコマンドの上限を設定します。
AttacksとFollows、Freespecialsは何も考えずに99とかにしておいて良いかと思います。
Attacksは単純に通常攻撃の手数に影響します、ただコンボは12までしか繋がらないようなので
そこまで多くなくても良いかと思います。
FreespecialはCancelや@cmdの跳び先など使い勝手が良いので、ついつい増えがち。
FollowsもFreespecialと同じく FollowanimやFollowcondなどで良く使う事になるので
キャラの方向性が落ち着くと山のように増えることが結構あります。
Idle以降はまあ趣味の範疇かなとも思いますが、@cmdの跳び先として便利なのは他と一緒。
たぶんですが、旧型のPCだとメモリの関係上初期設定が少なめになってるかと想像します。
現行のPCなら全部99でも良いのかなと思います。
私の環境で重めのMODでも1.7ギガ程度のメモリ使用量です。
0102名前は開発中のものです。
垢版 |
2021/04/21(水) 01:27:48.11ID:fX+bN6sg
逆にMODELS.TXTで設定せずに
Anim Pain20 などと記述してしまうと簡単に落ちます。
記述に間違いがないのに落ちるーと悶絶することもあります。
中には Logに何も出力されず、ただ落ちることもあります。
とりあえず99で良いかもしれません。
0103kt住江 ◆/VMXjFOJew
垢版 |
2021/04/21(水) 19:33:21.95ID:J0YwHZ/b
>>99さん
ありがとうございます。毎度敵の攻撃パターンには特に気合いを入れて作っていますので、
そう言っていただけると感無量です。
貴重な情報ありがとうございます。クライムバスターズMOD、後ほど見てきます。

わしのベルトアクション技術は、専らダブルドラゴンやベナアックルで勉強しました。
特にベアナックル2は敵の構成パターンに飽きさせない工夫があり、
例えば1面中ボスのジャックは、最初は単体で登場しますが、
次の3面では鞭女2体を連れて、7面ではデブ2体と等、
どの敵キャラも登場する度敵の構成パターンが変わるため、
同じ攻略法が通じない綿密な攻略が必要になるため、非常に参考になります。
くにおくんLAもベアナックル2を参考に、意図的にザコ敵の配置を施してあるんです。
0104名前は開発中のものです。
垢版 |
2021/04/23(金) 22:06:45.41ID:uM7p5A0b
敵の種類をいくつか混ぜてバラっと設定してるMODが多い中(もちろん完成させて発表されてるだけで凄いです)。
くにおくん達はプレイしていて楽しい感覚が妙にクセになるんですよね、
もう一回プレイしようと思えるバランスは流石です。

オーソドックスな作りながら攻守のテンポがよいのは BeatemUp UltimateAllianceでしょうか、
大味ながらつい遊んでしまいます。
これBorpak.exeだけで解凍しようとするとエラーで解凍できないのですが(一部ファイルネーム長すぎ)
OprnBoR StatsのFILE→Import PAKで解凍するとXtractフォルダに出力されます。
StreetRage Z3はプレイヤーがレベルアップするタイプ、後半ほぼ無敵になるのが気持ち良いです。
というかレベルアップ(スコアを稼ぐ)しないとボスの攻撃が理不尽系ですw
RescueCommandも敵の掴み攻撃をレバガチャで抜けるというギミックに感心します。
Crime Bustersは現在としては古き良きとでも言うような感じです。
C社やS社のキャラを使ったものでは、RocketViper2が模範解答みたいな存在に感じます。
ファンタジー作品など他にもいろいろありますが、技術を駆使する方、
独自の世界観で作を重ねている方や、細かい事はいいから敵をぶっ飛ばすの楽しいでしょって作品、
なにより愛情をこめてMODを作ってらっしゃる方が多いように感じ、
それがOpenBoRの魅力の一つだと思います。
0105名前は開発中のものです。
垢版 |
2021/04/27(火) 00:57:48.13ID:6v2tN2Sr
最近すごいなと感じたもの KoF beat em up plus
操作可能キャラ39、敵もムゲン系からだと思うのですが、よく集めたなーという感じ
KoFという位なので基本 S社のキャラやアレンジしたものが多いです。
スクリプトは使わずOpenBoRの基本機能だけで作られた正攻法作品、中を覗いてみると、
move、movea、movez など駆使して動きを表現しています。
Jumpframeを何故か使っていないので、格闘ゲームによくあるジャンピングアッパーのような
動作も movea(垂直方向キャラ座標変更)でこなしていて、まさにパラパラ漫画要領で
アニメーションを作っているのが素敵です。
Anim Runにも move が記述されていて、フレームが跳んだような見た目なので、
手直しをしてキャラ作りの練習台にさせてもらうのも良いかもしれません。
ルート分岐やエンディングまでしっかり作ってある力作(200MB超)。
0106名前は開発中のものです。
垢版 |
2021/04/30(金) 18:02:08.17ID:81YP+Cwz
@script
if(frame==3) {
void self = getlocalvar("self");
int borx = openborvariant("xpos");
int sdir = getentityproperty(self,"direction");
int y = getentityproperty(self,"a");
int z = getentityproperty(self,"z");
if (sdir == 0){ borx = borx+480; }
clearspawnentry();
setspawnentry("name", "estriker2");
void vSpawn=spawn();
changeentityproperty(vSpawn,"parent",self);
changeentityproperty(vSpawn,"direction",sdir);
changeentityproperty(vSpawn,"position",borx,z,y);
}
@end_script
画面の端からストライカーって感じのスクリプト
0107名前は開発中のものです。
垢版 |
2021/04/30(金) 18:09:21.33ID:81YP+Cwz
int borx = openborvariant("xpos");
changeentityproperty(vSpawn,"position",borx,z,y);
int sdir = getentityproperty(self,"direction");
if (sdir == 0){ borx = borx+480; }
結局、肝心な部分は上の2つで、パネル(背景)の座標を取得して、
テスト環境は Video 1(480x272)モードなので、
プレイヤーが右(sdir=1)を向いていれば borx(ステージを進んだ距離、画面右端)
左向き(sdir=0)なら(+480画面左端)から助っ人が登場
単純な事なんですが、標準コマンドだけだと意外と面倒。
0108名前は開発中のものです。
垢版 |
2021/04/30(金) 18:18:44.10ID:81YP+Cwz
訂正 X(ステージを進んだ距離、画面右端) O 画面左端
   X(+480画面左端) O 画面右端

@script
if(frame==0){
void self=getlocalvar("self");
int sdir=getentityproperty(self,"direction");
setdrawmethod(self,1,256,384,1,0,0,0,0,0,0,0,0);
drawstring(120, 120, 4, sdir, 1);
if (sdir==0) {
// changedrawmethod(self, "flipx", 0);
changedrawmethod(self, "scaley", 256);
changeentityproperty(self,"velocity",-1,0,0);
} else {
changeentityproperty(self,"velocity",1,0,0); }
}
@end_script
何故かストライカーがムーンウォークで登場してしまい悶絶。
その為Drawmethodを使って大きさを変えたりしてチェックする、デバッグ用スクリプト。
散々テストして結局、元の絵(gif)が左向き基準に描いてあっただけという
基本、OpenBoRのキャラ絵は右向き基準で描く事が多いので
左右向きが混在してしまうとOpenBoRは正しい処理しているのに
こちらの脳がパンクするという事態に。
結構 Anim Turnなんかでもやっちゃうんですよ。
0109名前は開発中のものです。
垢版 |
2021/04/30(金) 18:36:19.99ID:81YP+Cwz
anim attack3
cancel 11 20 0 D A freespecial4
cancel 11 20 0 U A freespecial5
delay 6
offset 37 78
frame data/chars/erika/363.gif


delay 4
drawmethod alpha 1
offset 42 105
frame data/chars/erika/373.gif
frame data/chars/erika/373.gif
途中を端折ってますが、Cancelを組み込むとき、Drawmethodを使って
受付がスタートしたのを知らせる(alpha 1は半透明)。
Drawmethod fillcolor {int0-256}を使えば指定した色にできるようなことがマニュアルに書いてありますが
まだイマイチ数値の指定方法がわかりません、パレット番号なのか、RGB指定みたいな事も書いてあるし
またググル先生に聞きにいかなきゃです。
0110名前は開発中のものです。
垢版 |
2021/05/01(土) 23:32:33.70ID:ce6GRoi2
なんとなーく調べたら、drawmethodハイフンfillcolor R G B 各々0-255のようですね

drawmethod-fillcolor 0 255 255 で以降のframe コマンドのentityキャラが水色に塗り潰されて表示される筈ですが
現在、別な環境の為確認出来ずにいます。
drawmethodを上手く使いこなせれば、用意する絵的にかなり省力化できるんで
マスターしたいところですが、今のトコ自分で絵を用意した方が早いですね
0111kt住江 ◆/VMXjFOJew
垢版 |
2021/05/04(火) 01:38:40.54ID:UuKfeUKx
途中経過画像。開発は順調です。
ttps://twitter.com/ktsuminoe/status/1389177357286608908/photo/1

>>110さん
いつもお疲れ様です。
アークシステムワークスの格闘ゲームによくある、
ストライカーまで実装可能とは、スクリプトは本当に凄いですねぇ。
https://twitter.com/5chan_nel (5ch newer account)
0112名前は開発中のものです。
垢版 |
2021/05/05(水) 23:54:41.45ID:+/eMzjlh
@cmd clearspawnentry();setspawnentry("name", "fire")
@cmd bindentity spawn() getlocalvar("self") 0 1 10 1 0 1
便利なことなんでもう一度
たったこの2行だけで(MODELS.txtにfireというEnityの登録は必要ですが)
自分にエフェクトを”くっ付ける”ことが出来ます。
上の例では”fire”というEntityを自キャラに重ねて表示します。
謎の数値 0 1 10 1 0 1 はBindentity(バインド)の座標 くっ付けるキャラ(Entity)の
X, Z, Y(A), 向き, 親のAnimと同期するか, キャラに被せるか背景にするか
難しいっぽいのが同期で、実は難しい事などなく、逆に効果的に使えるもので
自キャラ(親)とBindentityで付くEnitityに同じAnimが用意されていると、
親と同じAnimが実行されるので、親がAnim Attackなら子(Bind)もAnim Attackが実行されるというもの
「実体のある分身」が気軽に作れるのが想像できると思います。
しかし、getlocalvar("self")にgetlocalvar("self")はBindできないので、
分身は中身は一緒でも適当に名前を変えてMODELS.txtに登録しておかないとエラー落ちします。
0113名前は開発中のものです。
垢版 |
2021/05/06(木) 02:16:30.98ID:/KeaSO9B
訂正 setspawnentry("name", "fire") X setspawnentry "name" "fire" O
@CMD でスクリプトやコマンドを直接呼び出す際は
コマンドに最初から設定されている 括弧やカンマ、ピリオドを消して
スペース記号(見えませんが)で区切って記述しないとエラーになることが多いです。
便利な反面、エラーがでるとかなりてこずります。
スクリプトを弄っていてエラー落ちが発生した場合、便利なのがLogフォルダの
Scriptlog.txt ここに、どのようなスクリプトが実行されているか出力されるので
エラー箇所を特定することになります。
0114名前は開発中のものです。
垢版 |
2021/05/06(木) 02:24:21.35ID:/KeaSO9B
括弧やカンマなど消すといっても getlocalvar("self") これは?
スクリプトや@cmdを使う際にさらに別なコマンドを使うときは
基本どおりの記述でよいので
@cmd bindentity spawn() getlocalvar("self") 0 1 10 1 0 1
この場合 spawn() と getlocalvar("self") は通常の記述
大元の bindentityについては括弧やカンマなど削除して記述します。
bindentity(spawn(), getlocalvar("self"), 0, 1, 10, 1, 0, 1);
本来あるべき姿は上のようになります。
OpenBoRのシステムに直接干渉するので、エラー(大概こちらの勘違い)のさいは
結構な手間になりますが、基本コマンド以上に色々弄れるのが痛し痒し。
0115名前は開発中のものです。
垢版 |
2021/05/06(木) 02:47:41.51ID:/KeaSO9B
>>111さん
すいません、あまりブラウザ更新しないので気付かずに居ました。
画像を拝見しました。
上からっぽくてすいませんが、
1枚の画像からも kt住江様の世界観や作風を大切になさる様が大いに感じられ
ワクワクが止まりません。
いつも人様のムゲンキャラを弄って消費してばかりの私にとって、
いつかは自分もと参考&励みにさせて頂いています。
既存のものを改変するのってとても簡単なので、ついつい人様の作品に弄って楽しんでばかりで
そのぬるま湯から抜け出せすにいます。
別なスレに「作品を完成させられない人」ってのもありますが、私はそのタイプ。
イメージを形に出来る方を本当に尊敬します。
0116名前は開発中のものです。
垢版 |
2021/05/06(木) 23:33:55.01ID:/KeaSO9B
@script
void self = getlocalvar("self");
int MP = getentityproperty(self,"mp");
setlocalvar("T"+self, findtarget(self));
if( frame == 0 && getlocalvar("T"+self) != NULL() ) {
void target = getlocalvar("T"+self);
void vAniID = getentityproperty(target,"animationID");
void TType = getentityproperty(target,"type");
int Boss = getentityproperty(target, "boss");
if(TType == openborconstant("TYPE_ENEMY") && Boss==0 && vAniID != openborconstant("ANI_DIE") && vAniID != openborconstant("ANI_SPAWN") && vAniID != openborconstant("ANI_RISE")) {
changeentityproperty(self,"mp",MP-80);
changeentityproperty(target, "parent", self);
changeentityproperty(target, "type", openborconstant("TYPE_NPC"));
changeentityproperty(target, "hostile", "TYPE_ENEMY");
changeentityproperty(target, "candamage", "TYPE_ENEMY");
changeentityproperty(target, "lifespancountdown", 2200);
changedrawmethod(target, "reset", 1);
setlocalvar("T"+self, NULL());
changedrawmethod(target,"tintmode",3);
changedrawmethod(target,"tintcolor",rgbcolor(128, 255, 255));
}
}
@end_script
0117名前は開発中のものです。
垢版 |
2021/05/06(木) 23:43:25.09ID:/KeaSO9B
上は、敵をNPCにしてしまうスクリプト
anim runjumpattack
followanim 9
followcond 1
attack 25 9 76 85 10 1 1 0 60 20
dropv 4 1
offset 31 91
frame data/chars/kunagi/399.gif
こんな感じで、攻撃がヒットしたらFollow9に跳ぶようにして
anim follow9
## charm
@script

@end_script
delay 22
offset 32 91
frame data/chars/kunagi/401.gif
跳び先のFollowにこんな感じでスクリプトを仕込みます。
簡単に説明すると、攻撃がヒットした相手の種別をNPCにして、敵対者をENEMYにしてるだけ
そして、Lifespancountdown 2200(およそ100で0.5秒)11秒後に自動で消滅します。
ヒットした直後にスクリプトを即発動せず、わざわざFollowを挟んでいるのは
単なる趣味で、私の場合、このキャラには予備動作、発動、決めポーズの段階を踏ませているため
べつに当たるを構わず片っ端からNPC化しても良いのですが、その辺は好みで。
後、これの問題点はステージ終端のラッシュなどで片っ端からNPC化するとステージクリアしてしまうことw
0118名前は開発中のものです。
垢版 |
2021/05/07(金) 00:13:33.09ID:RxUWGAGV
上のスクリプトは元々、もっと複雑な仕様(使うにはアイテムを購入して消費)だったものを
簡略化したのでMPさえあれば連続使用できてしまう訳です。
さらには時間で元の敵に戻るということも出来るのですが、それにはMODELS.txtにて
専用 Entityを作成して、それを Bindentityしなければならないので、結構手間がかかります。
簡単に説明すると、Bindentityには必ずParent(親Entity)が必要、それを逆に利用して
透明なEntityをBindentityし、一定時間経ったら元のParent(Entity)の情報に上書きするというもの。
一瞬頭が混乱しますが、Bindentityの特性を理解すると「なるほどー!」となります
もちろんオリジナルは私などでは無く、D&D Rise of Warduke2015から拝借しました。
0119名前は開発中のものです。
垢版 |
2021/05/08(土) 00:13:01.25ID:S2juEpeY
少し前に、data/scripts/フォルダ下に特定のファイルを入れておくと自動で読み込まれ
優先的に実行されると書きましたが、Loading.c もその一つ
void main()
{
void s;
void value = getlocalvar("value");
void max = getlocalvar("max");
if(max==1){
return;
}else{}
void percent=value*99/max;
percent%=++percent;
void dot=percent%3;
if(dot==0)
s=".";
else if(dot==1)
s="..";
else
s="...";
drawstring(80,144,1,"Loading Please Wait Moment"+percent);
drawstring(128,176,1,"Loading Complete Part"+s);
drawbox(160,197,126,10,11,rgbcolor(200,0,0),0);
drawbox(160,197,percent*126*0.01,10,15,rgbcolor(200,200,0),0);
}
こんな感じでテキストファイルを先のファイル名で保存しておけばOK
いくつかMODをプレイしていると、最初にパーセントやメーターが上昇してゆく
スクリーンを見た事があるかと思います。
data/BGS/ フォルダ下にLoading.gif など画像を入れておくと、同じく最初に自動で表示されます。
その他にも色々と自動で表示される画像などは多々ありますが、
その辺は各MODの data/BGS/ フォルダの中を見てみれば殆どの方が用意しているので参考になるかと思います。
0120名前は開発中のものです。
垢版 |
2021/05/08(土) 00:34:31.12ID:S2juEpeY
didhitscript @script
void main() {
void self = getlocalvar("self");
void opp = getlocalvar("damagetaker");
if(opp != NULL()) {
if(getentityproperty(self, "animationID") == openborconstant("ANI_RUNATTACK")) {
if (getentityproperty(opp,"a")==0) {
changeentityproperty(opp, "nextanim", getentityproperty(opp, "nextanim")+360);
changeentityproperty(opp, "nextthink", getentityproperty(opp, "nextthink")+360);
setglobalvar(getlocalvar("self")+"_delayhit",1);
}
}
}
}
@end_script
普通なら data/SCRIPTS/ フォルダに入れておいて都度参照するように指定するスクリプトを
じかにEntityに仕込みAnim RUNATTACKがヒットしたら、その相手が3.5秒ほど硬直するというもの
setglobalvar(getlocalvar("self")+"_delayhit",1);これは攻撃が当たったというフラグ
0121名前は開発中のものです。
垢版 |
2021/05/08(土) 00:41:03.92ID:S2juEpeY
anim runattack
jumpframe 0 0 1 0
@script
if (frame==13){
void self = getlocalvar("self");
if (getglobalvar(self +"_delayhit")) {
setglobalvar(self +"_delayhit",NULL());
changeentityproperty(self, "animation", openborconstant("ANI_SPECIAL"));
}
}
で、件のAnim RUNATTACKにて最終 frame(この例ではFrame==13)にて
getglobalvar(self +"_delayhit")フラグが成立していると
SPECIALに自動で移行するというもの
別にスクリプト使わなくてもAttackコマンドの後にSTUN 3と記述すれば
攻撃がヒットした相手は3秒ほど硬直するので、追撃は可能なのですが、
例の場合、直線にならんだ多数の敵を硬直させ、SPECIALで一網打尽に出来るという
演出重視の処理ができて、仕込んだ本人はご満悦というものです。
0122名前は開発中のものです。
垢版 |
2021/05/08(土) 01:01:56.73ID:S2juEpeY
jumpframe {Frame}{a}{x}{z}について
もともとキャラクター(Entity)の座標を直接変化させるには
Move(水平)Movea(垂直)Movez(奥行き)があり、
コマンド後に書かれたFrame 掛ける Moveの数値分座標が移動します(+なら進行方向 ーなら逆)
Move 0コマンドが記述されるまでFrameの度に移動しますので注意。
Jumpframeコマンドは、その名の通りジャンプに関するコマンドなのですが
指定したFrame(最初は0で数える)からスタートして、{a}{x}{z}分
自動で移動します。{a}を3などにすれば通常通りジャンプするのですが、
{a}を0にし、{x}{z}に+−数値を入れる事で、ジャンプせずに移動も可能になります。
すべる様にに移動するので、Moveではガクガクしてしまう動作も滑らかにすることができます。
が、微妙な距離調整が必要になるので、そんな時便利なのが
@cmd changeentityproperty getlocalvar("self") "velocity" 0 0 0
後ろのほうの数値が 0 0 0 とあるように全ての方向への慣性が0になります。
つまり動作STOP、数値の並びは x z a なので色々弄って遊ぶのも良いかと。
jumpframeだけでも結構いろいろ使えるので便利ではあります。
問題は、Anim中に複数記述しても有効なのは1つだけです。
0123名前は開発中のものです。
垢版 |
2021/05/09(日) 18:57:27.67ID:uQy3TiTw
OpenBoR stats 0.53 では mugen のairファイルが読み込めて便利と以前に書きましたが
たまにファイルが灰色に表示され、選択出来なくなることがあります。
そんな時は無限用のファイターファクトリーでsffファイルを8bit用のデータでセーブしてやると
OpenBoRstatsでも読み込めるようになることもあります。
0124名前は開発中のものです。
垢版 |
2021/05/09(日) 23:30:14.44ID:1QV0D9Lf
>>118 ここで「## Charm」とありますが、「#」これ一つで以降に書かれたテキストはOpenBoRとしては無視する
いわゆる「コメント(人間が読んだときの栞や説明)」となります。
で一つ「#」を使えば十分なのですが、大量に使って作成者が目印にしたりもします。
私は基本「##」2つ連続で使うのですが、一時的に使わないけど、また後で使うかもなコマンドの最初に
# jumpframe 0 0 1 0
こんな感じに使う事で、一時的に無効にすることができます。
で、OpenBoR stats を使っていると、#を使っているとたまに行ごと削除されてしまうことが有り
それを防ぐおまじないとして##2つ重ねています。
0125名前は開発中のものです。
垢版 |
2021/05/09(日) 23:36:48.96ID:1QV0D9Lf
「## Charm」は >>117 でした。
@Script

@End_script
ここで使うコメントは「//」となります。
@cmd これをコメントにするときはこんな感じ「# @cmd」 なので
スクリプト的に内部動作を弄るときはC言語みたいに「//」だったよなと
「// @cmd 」とするとエラーになりますので注意です。
0126名前は開発中のものです。
垢版 |
2021/05/10(月) 00:00:27.11ID:snJfXwVZ
この様なサイトがあるのを初めて知りました。
レベルの高い内容ばかりで参考になります。
素人ながら「RescueCommandU」を色々いじって遊んでるのですが
試したいことがあるので教えていただきたいです。
敵キャラ同士が同じ座標に重なったり、すり抜けたりしないように
接触判定の条件?をいいじりたいのですが、どこをどのようにいじればよいか
どなたかご教示いただけないでしょうか。
敵キャラ同士の攻撃は従来通り当たらないで、あくまで接触判定だけ変えたいです。
何卒よろしくお願いします。
0127名前は開発中のものです。
垢版 |
2021/05/10(月) 00:05:01.81ID:LcOGIvvu
>>118 で説明しようとしてた Entityの内容がこれになります。
name Charm
type none
anim idle
@script
void self = getlocalvar("self");
int Parent = getentityvar(self,1);
if(frame==1) {
setdrawmethod(Parent, 1, 128, 128, 0, 0, 0, 6);
changedrawmethod(Parent,"tintmode",3);
changedrawmethod(Parent,"tintcolor",rgbcolor(128, 255, 255)); }
if(frame==3) {
setdrawmethod(Parent, 1, 256, 256, 0, 0, 0.5, 0);
changedrawmethod(Parent,"flag",0);
changeentityproperty(Parent,"hostile","TYPE_PLAYER","TYPE_NPC");
changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY"));
changeentityproperty(Parent,"candamage","TYPE_PLAYER","TYPE_NPC"); }
@end_script
delay 1
frame data/chars/misc/empty.gif
delay 220
frame data/chars/misc/empty.gif
delay 1100
frame data/chars/misc/empty.gif
delay 1
frame data/chars/misc/empty.gif
0128名前は開発中のものです。
垢版 |
2021/05/10(月) 00:23:14.55ID:LcOGIvvu
>>116 のスクリプト中に
clearspawnentry();
setspawnentry("name", "Charm");
void Ceff = spawn();
setentityvar(Ceff, 1, target);
bindentity(Ceff, target, 0, 1, 0, 0, 0, 0);
このような感じでMODEL.txt で設定した Entity CharmをBindentityしてあげると
name Charm の親Entity(攻撃がヒットした相手)の情報がCharmに収納され
一定時間(delay 1100) frame data/chars/misc/empty.gifが実行されると
Frame==3で
元のEntity、changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY")に戻ることになります。
こういう閃きが出来る方って本当に凄いと尊敬します。
私はスクリプトの中身を読んで「ほへ〜凄いなー」となって、何も考えずコピーして「動いたー!」
さっそくスレに書き込むことしかしないので、どういう経緯でこうなるのか基本全く分かりません。
世の中には凄い人が沢山いるものです。
0129名前は開発中のものです。
垢版 |
2021/05/10(月) 01:02:42.20ID:LcOGIvvu
>>126 さん、私は適当に人様のMOD内を覗き込んで、スゲーと思ったことを
こちらに転載してるだけなので、何の取り柄もありませんが分かる範囲では、
敵同士の「重なり判定」については謎になってます。
きっと調べる手段はあると思います。
実際、画面上に存在するキャラ(TYPE_ENEMY)の数をカウントするコマンドは存在します、
カウント数からPROPERTYを取得、さらに座標を取得して、互いにぶつからない様処理することは
たぶんですが、可能だとは思います。
MODのMIXMASTERSでは、そのコマンドを利用して画面上の全ての敵、味方にHPアップや
一斉攻撃などを実現していました。
プレイヤーについてはGetPlayerPropertyで1〜4プレイヤーの情報取得が簡単になってます。
しかし敵については漏れることもあり(画面端でボーっとしてたりw)、けっこう大雑把でもありました。
一番簡単なところでは、各敵キャラをSPAWNさせる際に
changeentityproperty(vSpawn, "speed", (rand()%14)+6); 動くか分かりません。
こんな風に移動速度("speed")にランダム要素を組み込む感じで、
移動速度をずらす位にして置いたほうが悶絶しなくて済むかもです。
Entityの性格づけにSubtypeやAimoveなどいくつか設定できるものもありますが、
敵同士で移動の衝突判定して、それを避けるようなものは私はまだ見た事がありません。
そこまで細かく判定してないからこれだけOpenBoR Engineが軽いんじゃないかな?と想像してます。
0130名前は開発中のものです。
垢版 |
2021/05/10(月) 01:16:10.44ID:LcOGIvvu
せっかくラッシュな感じで敵を大量に出現させても、
重なって団子になってしまうと興ざめな部分もありますよね。
かといって敵があまりにランダムな動きをしてしまうと、
それはそれで、、、となってしまいます。
このスレでも度々お世話になっている、kt住江氏のMODを遊んでいると、
絶妙な敵のコンビネーション(ザコは固まるし、バラける、ボスは適度に意地悪)
ステージの作り方でどちらも一方的にならないように工夫されているなど、
OpenBoRの基本システムだけで表現しているので、とても参考になるかと思います。
0131名前は開発中のものです。
垢版 |
2021/05/10(月) 02:53:40.87ID:snJfXwVZ
>>129さん

ご丁寧に返信いただきありがとうございます。
私も自分なりにマニュアルを読みましたがわからず相談させていただきました。
頂いた代替案も参考にさせて頂きつつもうちょっと粘ってみます。
ありがとうございました!!
0132名前は開発中のものです。
垢版 |
2021/05/10(月) 09:21:40.27ID:iq7vM874
敵の動きについては昔2016年頃のMODだと
AiMove1やAiMove2など思考に優先順位を付ける事ができたようす
最近のBoRエンジンでは省略されたぽい
公式でも話題になってた。
0133名前は開発中のものです。
垢版 |
2021/05/10(月) 10:46:10.08ID:iq7vM874
今ふと思いついただけなんですが
敵のidleやwalkにattackコマンドをダメージ0で記述して
painにmove-1とかすれば敵同士重なったら多少ずれるかな?
0134名前は開発中のものです。
垢版 |
2021/05/11(火) 00:12:34.39ID:W5SAA6KE
やってみました。
敵のヘッダーにcandamage player enemyと記述
Anim WalkにAttack6(普段あまり使わない、MODELS.txtにMaxAttacks 99など必要)を
ダメージ 0、吹っ飛び無し 0、必中 1、エフェクト無し 1、で設定
そしてAnim Pain6(Attack6がヒットしたとき専用リアクション)に適当に
Delay 12くらいでMove -16とFrame 〜といった感じに。
プレイヤー側にはAnim Pain6をリアクションしないように設定
Delay 1でFrame 〜Empty.gifとか

結果、敵同士がぶつかる(Attack6がヒット)すると、敵Anim Pain6の処理のおかげで
立ち止まったり、Move分移動したりはできた。
が、OpenBoRのシステム上、攻撃がヒットするとヒットした方向を自動で向くため
なんとも野暮ったい感じに(お前が先いけよ、どうぞどうぞみたいなw)、
あとCandamage player enemyのせいで、敵の通常攻撃も敵にヒットするようになり(当たりまえですが)
これはこれで、同士討ちは面白いのでこういう敵(中・大型の敵味方かまわない感じの)を少々混ぜる分には良いかも。
ファンタジーの中ボスが味方を蹴散らして乱入みたいな演出に良いかも?
しかし、通常の敵に仕込んでも苦労の割りに効果は「渋滞と同士討ちが発生する」なので、
適当にNPCをSPAWNさせて標的を散らすほうが簡単かも。
0135名前は開発中のものです。
垢版 |
2021/05/11(火) 00:32:56.22ID:W5SAA6KE
上のAttack6はattackコマンドの方で、Anim Attack6ではありません。
Attack6 0 0 100 100 0 0 1 1 0 15の方です。
この攻撃がヒットした際にAnim Pain6が存在すると、
このAnimが優先して実行されます。
0136名前は開発中のものです。
垢版 |
2021/05/11(火) 21:24:05.65ID:hyfsamfM
>>134さん

なんと!!私も早速試してみます。情報ありがとうございます。
同士討ちは、それはそれで面白そうなのでやってみます。
同士討ちは”Anim Walk”による判定か”Anim Attack”による判定か
判別出来れば解消するんですかね〜。やれるかわかりませんが・・
0137名前は開発中のものです。
垢版 |
2021/05/12(水) 00:57:58.28ID:z4QIhI5l
近くにいる敵に向かって進む
@script
if(frame==6) {
float Velx=2, Velz=1, dx=0, dz=0;
void self = getlocalvar("self");
int dir = getentityproperty(self, "direction");
float x = getentityproperty(self, "x");
float z = getentityproperty(self, "z");
if (dir == 0) { dx = -dx; }
setlocalvar("T"+self, findtarget(self));
if( getlocalvar("T"+self) != NULL()) {
void target = getlocalvar("T"+self);
float Tx = getentityproperty(target, "x");
float Tz = getentityproperty(target, "z");
if(Tx < x){
changeentityproperty(self, "direction", 0);
} else {
changeentityproperty(self, "direction", 1); }
続く
0138名前は開発中のものです。
垢版 |
2021/05/12(水) 01:03:15.13ID:z4QIhI5l
続き
x = x+dx;
z = z+dz;
float Disx = Tx - x;
float Disz = Tz - z;
if(Disx < 0){ Disx = -Disx; }
if(Disz < 0){ Disz = -Disz; }
if(Disz < Disx) {
if(Tx < x){
setlocalvar("x"+self, -Velx);
} else { setlocalvar("x"+self, Velx); }
setlocalvar("z"+self, Velx*(Tz-z)/Disx);
} else {
if(Tz < z){
setlocalvar("z"+self, -Velz);
} else { setlocalvar("z"+self, Velz); }
setlocalvar("x"+self, Velz*(Tx-x)/Disz); }
} else {
setlocalvar("z"+self, 0);
if(dir==0){
setlocalvar("x"+self, -Velx);
} else { setlocalvar("x"+self, Velx); }
}
float Vvx = getlocalvar("x"+self);
float Vvz = getlocalvar("z"+self);
if( Vvx!=NULL() && Vvz!=NULL() ) {
changeentityproperty(self, "velocity", Vvx, Vvz);
}
}
@end_script
近くにいる敵をFindtargetして座標を割り出し、自分の座標と比較して
向きと距離から計算して、敵のいる方向にVelocity(慣性とでもいいますか、強制移動)させるというもの
0139名前は開発中のものです。
垢版 |
2021/05/12(水) 01:15:27.65ID:z4QIhI5l
>>137 で(Frame==6)とあるようにAnim のFrame 7番目(1番は0なので)で実行されます。
frame 7番目にAttackコマンドが記述してあれば、攻撃判定を持ったまま移動します。
勢いは Velx(横方向)Velz(奥行き)dx、dzはスタート位置をずらしたりの調整(0でOK)
適当なFrameで@cmd changeentityproperty getlocalvar("self") "velocity" 0 0 0として
止めてあげます。
利点は、奥や手前の敵にホーミング攻撃できる!
問題点はFindtarget(OpenBoRに最初から用意されてるコマンド)が結構雑で思った敵に行かない所でしょうか
一対一の格闘ではないですし、現在画面内にいる敵をカウントして自分との距離を算出するなんて
想像しただけで気が遠くなるので、コマンドを用意してくれてる公式に感謝です。
0140名前は開発中のものです。
垢版 |
2021/05/12(水) 01:48:22.25ID:z4QIhI5l
>>136 さん
同士討ちの原因は簡単で
candamage player enemy
candamage(Attackコマンドの攻撃判定が有効になる対象)
player(そのままプレイヤー) enemy(TYPE_ENEMYと設定されたentity)なので
これが記述されていると同士討ちになる訳です。
特別スクリプトを使わずに、OpenBoRの基本設定でなんとできるかな?と試しただけなので穴だらけです。
丁寧に処理するには、OnDoAttack(Entityが攻撃コマンド実行時に処理されるスクリプト)か
AnimationScript(Entityが何かするたび処理)辺りで設定してみるか、
@scriptでうまいこと座標の重なりを検知できれば良いのですが、
攻撃対象を検知(FindTarget)するのはあるんで、きっと存在はしてる筈なのですが
0141名前は開発中のものです。
垢版 |
2021/05/12(水) 01:56:59.21ID:z4QIhI5l
>>134 で苦労の割りにと書いたのは、場合によっては全ての敵にAnim Pain6などリアクション設定しないと
あまり効果が出ないので、同じ種類の敵でもSpeed(移動速度)をランダムにしてみる。
などのステータスを弄ってみたほうが楽かなと思いました。
srand(seed)
set a seed for random number generator
まだ使った事ないですが、こんなコマンドもあるようなので試してみようと思います。
0142名前は開発中のものです。
垢版 |
2021/05/12(水) 15:39:00.17ID:z4QIhI5l
スクリプトばっかりで意味がわからん、という方も多いかと思います。
スクリプトはあくまで味付けなので、殆どのMODはOpenBoRの基本コマンドだけで作られていますので
もし、たとえばOpenBoR STATSに触れる機会があったら、+LEVELSをクリックしていってみて
spawn Bob
health 50
coords 500 200
at 0
こんな感じの所をコピペで増やしてみたり
+PLAYERをクリックしていってHealth 100などとあったら300にしてみたり
ちょっとづつ出来合いのものを変えてみてはいかがでしょう?
でもちょっと味付けを変えてみようかな?と思ったら
Chrono Crash 公式?サイトから
OpenBOR >Help & Resources >Scripting >Scripts Index とたどっていって

Bloodbane's Simple Scriptsあたりを見てみると大量に実例とファイルが用意されているので
覗いてみると泥沼に嵌るかもしれません。
0143名前は開発中のものです。
垢版 |
2021/05/13(木) 01:20:35.32ID:OoHlaO5a
anim jumpattack3 ## Jump, Up + A
@script
if(frame==3) {
float vx=3, vz=0, vy=-4;
int vd=getentityproperty(getlocalvar("self"),"direction");
if(vd==0) { vx= -vx; }
changeentityproperty(getlocalvar("self"), "velocity", vx, vz, vy);
}
@end_script
jumpframe 0 2 -0.5
delay 8
offset 34 97
frame data/chars/kunagi/318.gif
offset 34 95
frame data/chars/kunagi/319.gif
offset 42 88
frame data/chars/kunagi/320.gif
delay 30
attack 20 20 30 60 10 0 1 0 0 20
stun 1
offset 40 99
frame data/chars/kunagi/371.gif
offset 65 90
frame data/chars/kunagi/372.gif

私は基本あまり使わない攻撃には強力な性能を仕込むようにしてます。
例はジャンプ中にレバー上+A で飛び込み攻撃
OpenBoRの標準コマンド JumpFrameはとても便利ですが、一つのAnim中に一回しか機能しません
そこで@Scriptを使って飛び込み動作をさせています。地上でVelocityを使う時はX,Z,Yを0に
戻す手間が掛かりますが、Jump中なら着地で自動的に0に戻るので、気軽に使えます。
0144名前は開発中のものです。
垢版 |
2021/05/16(日) 00:01:17.20ID:FoJl/otl
あいかわらず Paletteや ReMapについては良く分からないです。
ぐっちゃぐちゃの色になったり、Alphaがとんでもない事になったり
もう色については放置です。

@cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_CHARGE")
frame data/〜
とすることで、Animの処理中に別なAnim(例ではCHARGE)に処理を跳ばす事が出来るんですが
処理中のAnimにLoop 1(当該Animを繰り返し実行)があると、例のパターンだと一瞬だけANI_CHARGEに跳んで
すぐLoop 1のAnimに戻ってしまうんですね。
そんな時、Loop 1であっても別なAnimに処理を強制的に移行させるのが
@cmd executeanimation getlocalvar("self") openborconstant("ANI_CHARGE") 0
これで、Loopの呪縛から開放されます。
0145名前は開発中のものです。
垢版 |
2021/05/16(日) 00:31:35.07ID:FoJl/otl
>>143 に、ジャンプ上攻撃(JumpAttack3)の中にもJumpFrame 0 2 0.5とありますが
これは、元々のジャンプが降下に移っているとき攻撃を出しても、
攻撃が実行される前に着地してしまうことを避けるため、擬似2段ジャンプのような形にして
JumpAttack3が降下中でも攻撃判定がでるように工夫してます。
以前に紹介した、Cancelを利用した2段ジャンプは別にFreeSpecialを用意する必要がありましたが
時には使う事が無いJumpAttack2やJumpAttack3を2段ジャンプ代わりにすることも出来るわけです。
0146名前は開発中のものです。
垢版 |
2021/05/16(日) 00:43:11.17ID:FoJl/otl
>>137 の敵に向かってホーミング移動は自分だけでは無く
自分が射出する系(はどー拳みたいな)のEntityに仕込むことで、実際に誘導弾にできるので
void self = getlocalvar("self");
float vX=2 , vY= 0, vZ= 0, dX= 50;
int sX = getentityproperty(self, "x");
int sY = getentityproperty(self, "a");
int sZ = getentityproperty(self, "z");
int iCnt=4, iEnt, Rd= 0, dir = getentityproperty(self, "direction");
if(!dir) { dX= -dX; }
for(iEnt= 0; iEnt<iCnt; iEnt++) {
void vShot = projectile("Ktball", sX+dX, sZ+0, sY+60);
vY += 0.5;
vX -= 0.25;
setdrawmethod(vShot, 1, 160, 160,0,0,0,1,0,0,0,0,0);
changeentityproperty(vShot, "owner", self);
changeentityproperty(vShot, "parent", self);
changeentityproperty(vShot, "direction", self);
changeentityproperty(vShot, "velocity", vX, vZ, vY);
changeentityproperty(vShot, "speed", vX);
}
こんな感じのスクリプト(4発 iCnt=4 の弾 ”Ktball”をばら撒く)の ”name Ktball”Entityに
>>137 の誘導スクリプトを仕込めば画面がとっても五月蝿い感じになります。
0147名前は開発中のものです。
垢版 |
2021/05/16(日) 00:46:10.02ID:FoJl/otl
上の
setdrawmethod(vShot, 1, 160, 160,0,0,0,1,0,0,0,0,0);
changeentityproperty(vShot, "owner", self);
changeentityproperty(vShot, "parent", self);
ここはあまり意味無い(darawmethodによる描画の変化、プレイヤーにスコアが入るかの設定)なので
気にしないでOK
0148名前は開発中のものです。
垢版 |
2021/05/16(日) 01:04:20.46ID:FoJl/otl
vY += 0.5;
vX -= 0.25;
この部分で射出される弾の軌道を調整(例では4つの弾が斜め上にずれて打ち出される)しているので、
iCntを増やして、vX,vYを関数的に処理すれば綺麗な扇弾にすることもできますね。
ジャンプに関しての追記ですが、
anim jumpattack2
@script
if(frame==8) {
float vx=3, vz=0, vy=-4;
int vd=getentityproperty(getlocalvar("self"),"direction");
if(vd==0) { vx= -vx; }
changeentityproperty(getlocalvar("self"), "velocity", vx, vz, vy);
}
@end_script
jumpframe 0 4 -0.5
delay 6
offset 37 95
frame data/chars/kunagi/01.gif

attack 0 0 30 40 8 1 1 0 10 20
offset 26 93
frame data/chars/kunagi/08.gif
こんな感じにすることで、ジャンプ中レバー下攻撃(JumpAttack2)と入力すると
擬似2段ジャンプから一転、急角度(vx=3, vy=-4)で飛び込む攻撃になります。
changeentityproperty(getlocalvar("self"), "velocity", vx, vz, vy)
とても便利ですね。
以前にも書き込みましたが、適当なところで "velocity", 0,0,0 にしないと
同一Anim内では動きっぱなしになってしまいますがw
0149名前は開発中のものです。
垢版 |
2021/05/16(日) 01:26:03.54ID:FoJl/otl
余計な事ですが、
int vd=getentityproperty(getlocalvar("self"),"direction");
if(vd==0) { vx= -vx; }
この部分は、一回しか使わないので、
if(!getentityproperty(getlocalvar("self"),"direction")) { vx= -vx; }
これでも良さそうですね
度々、お世話になる”direction”これは、キャラ(Entity)の向きを表しています。
1ならEntityは右向き、0なら左向きとなります。これはプレイヤーでも敵でもアイテムでも一緒です。
if(〜) { 〜 } に関しては、もし(〜)内の条件が 1の時は{〜}内の処理を実行するというもの。
!getentityproperty 気付きにくいですが先頭の!マークがあると「〜ではない場合」の意味なので
向きが左(数値が0)ということは1では無い、一番上のvd==0と同じ意味になります。
分かりにくいので、他人に見せる場合は一番上のように記述するのが良いと思います。
なんかこんな風に記述することで「ちょっと分かった気分になれる」という利点があります。
最近覚えたので薀蓄たれたくなりました。
0150名前は開発中のものです。
垢版 |
2021/05/16(日) 03:06:57.62ID:FoJl/otl
Loop 1からの脱出
AnimにLoop 1が設定されていると
@cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_CHARGE")
では、すぐに元のAnimに戻されてしまう。
そこで、executeanimationを使う事で完全に別なAnimに移行できると紹介しましたが、
executeanimationを実行させる条件付けはどうしよう?
@script
if(frame>0) {
if(getplayerproperty(0, "newkeys")) {
executeanimation(getlocalvar("self"), openborconstant("ANI_CHARGE"), 0);
}
}
@end_script
これは何らかのキー入力(方向キー、各ボタン)でexecuteanimationするもの。
他にPlayerkeys(0,0,"anybutton")もありますが、これはボタン(Aの攻撃など)のみ、
あと、標準コマンドのCancelを使ってFreeSpecial#に移行することも出来ますね。
これだけでは無くプレイヤーに関しては、プレイヤーの状況を取得する手段が結構いろいろと用意されています。

>>148 のAnim JumpAttack2内の Velocity制御について、
結局、強制的に動かしたい方向が決まっていれば以下のように Velocityを指定してやれば良いということになります。
@cmd changeentityproperty getlocalvar("self") "velocity" 3 0 -4
frame data/~
~
@cmd changeentityproperty getlocalvar("self") "velocity" 0 0 0
frame data/~
ただ、直接指定すると”強制的に右向きを基本とした動作”になってしまうので、
if(vd==0) { vx= -vx; }こういった処理が必要な場合、@Scriptを利用することになります。
標準コマンドを利用するとAnim中に1回のみなどの制約が伴いますが、気軽に使えます。
一方、@cmdや@scriptを利用すると、様々な要素(省略できる部分もあります)について指定する必要があります。
0151名前は開発中のものです。
垢版 |
2021/05/17(月) 00:52:19.70ID:FAJnAZ+T
@Script

@Emd_Script
ばかり紹介してるけれど、本来スクリプトは data/scripts/フォルダにまとめて
そこから呼び出すようにした方が良いって公式にも書かれています。
でも完全にそうなってしまうと、得体の知れないブラックボックス的なものになってしまうかも
という危惧があります(余計なお世話ですが)。
なので一旦、スクリプトってどんな働きをしてるの?という部分について
大雑把にこんな感じ(だと思う)だよ、と紹介できたらなというのが私の思いです。
標準コマンドは危険が無いように各種ステータスを自動で調整してくれますし、
標準コマンドですべて完結するのが一番だと考えています。
一方、私程度でも、いつもよりチョッとだけ違う動きが出来たりする懐の深さが
OpenBoRの魅力かなと思います。

Entityのヘッダー(ファイルの上のほう)で設定する、SpeedやAntigravityなどの数値ですが
最初に設定する以外にもChangeEntityPropertyなどで自由に変更できる事は、これまでも紹介した通りです。
ヘッダーではSpeed 11のAntigravity 100のように設定していても、ChangeEntityPropertyなどで変更する時は
10分の1〜100分の1程度の数値にしないと、影響が大きすぎて激しく動いてしまう事も多々あります。
これはやってみないと判らないことが多いので、試行錯誤で悶絶ですね。
0152名前は開発中のものです。
垢版 |
2021/05/17(月) 02:39:29.32ID:FAJnAZ+T
同じ敵でもSpeedの数値をランダムに変えれば、多少は「団子状態」で迫りくる状況が変えられるか?
という事で、いくつかのシチュエーションで試してみましたが、
プレイヤーが一人で、転んだり(Fall)などの状況になってしまうと
結局、団子になってしまいます。
敵同士のぶつかり(重なり)を避けるためにCanDamage を使うと、プレイヤーに対する攻撃が
同じ属性(TYPE_ENEMY)にもヒットしてしまうので、面白いけれど、全ての敵がそうだと少々面倒。
今後の課題として、EntityPropertyなどの参照で、”DamageTaker”や”Opponent”を取得できれば
TYPE_ENEMYのAttackコマンドがTYPE_ENEMMYにヒットしないように(ヒットしても無視するように)
することも出来るかな?と思う。

もう一つの対処法としてRand()%100などを使ってランダムな数値を出し、その数値によって
Anim AttackやAnim Idle3のようなAnimに分岐させて、暇つぶしをさせることによって
重なりを防ぐという事も考えられます。
これは、他のいくつかのMODでも
敵の攻撃が成功したら、攻撃した敵に適当なAnim処理(攻撃が当たったヒャッホーみたいなモーション)をさせ
プレイヤーがいわゆるハメ状態にならないように工夫しているものからヒントを得ています。
沢山のTYPE_ENEMYを用意して、同じ種類の敵が同時に出現することを防げば良いのですが。
それはそれで試行の回数が増えることになるのでバランスが難しいですね。
0153名前は開発中のものです。
垢版 |
2021/05/19(水) 23:48:02.64ID:upn5bY1m
model commands:
entitypushing {int}: if 1 entity pushing target on collision
pushingfactor {float}: pushing factor on collision. Default: 1.0

openborscript functions: get_entity_collision_collection(void handle, int frame);
get_entity_collision_instance(void handle, int index);
get_entity_collision_property(void handle, int property);
set_entity_collision_property(void handle, int property, value);

openborscript:
added "entitypushing", "pushingfactor" to entityproperty
added "collidedentity" to entityproperty
added "maxcollisions" to openborvariants

Entity同士の衝突判定用?と思われるPropertyが Git hubの OpenBoR Plusで発見
Open BoRをデバグモードにすると緑やら青や赤の判定枠が表示することも出来ますが
ただ単にそれ用のPropertyかもしれませんが、Collisionという衝突のみを判定するフラグは
存在しているのが伺えますので、Entity同士の衝突しているのかの判定について
何らかのデータを取得する手段はあるのかなと思います。
一方で、そもそもOpenBoR Plusって・・・という謎も多々ありますし
とっくに実装されているとされている、Boomerangも動作確認できていないので
謎は深まるばかりです。
0154名前は開発中のものです。
垢版 |
2021/05/22(土) 03:25:15.70ID:zSTPvS3W
drawmethod scale # は機能する(#の数だけ拡大・縮小)のに
drawmethod scalex # scaley # (横、縦の比率を指定して拡大・縮小)は機能しない
OpenBoRのバージョンは3で固定のようですが、Buildでかなり動作にムラがあるようなので
MODによって、全く動作しなかったり、特定のステージ・エリアに行くと落ちたりします。
作者さんが動作確認できているBuildを公表するなりしてくれていると助かるのですが、
私の勝手な分け方では、古いMOD(2018年以前)はBuild 3789〜4086あたり、
それ以降であれば最新のものでも、ほぼ動作するようです。
大分安定しているとはいえ、過去Buildでは問題なく動作したコマンドが
最新ではエラー扱いになったりするので、どんな物でもそうなんですが、エラー原因の特定は
なかなか難しいですね。
0155名前は開発中のものです。
垢版 |
2021/05/25(火) 01:13:32.55ID:blxYdI/g
今ちょこちょこと弄っているのが、DungeonMAgic、過去にライトブリンガーとして
アーケードゲームとして斜め見下ろしダンジョン攻略アクションRPG風とでも言うのでしょうか
その登場キャラを例によってゴニョってOpenBoRに落とし込んだもの
ただ公式サイトでも、動いたー止まったーと幾つか混乱が生じているようですが、
Build 4078であれば特に落ちる事無くエンディングまで行けるようです。
Build 6000番くらいまで来ると、EntityPropertyの関係や、AttackTypes、AImoveの関係で落ちるっぽい?
修正できるかな?と思いましたが、とにかくLoadされるModelが多過ぎなのと
作者さんが ;セミコロンをコメント扱いにしていたりと中々の曲者なので
素直にBuild 4078でプレイするのが吉かと
0156kt住江 ◆/VMXjFOJew
垢版 |
2021/05/25(火) 22:23:59.77ID:GJ3pQcTQ
こんばんは、kt住江です。
開発中のベルトアクションの開発率が50%に達しましたので、
途中経過の動画をご紹介します。
タイトル『ダブルドラゴン番外編』のOPです。
ttps://twitter.com/ktsuminoe/status/1397181051865161728

2か月後の完成を目指して、引き続き頑張りたいと思います。
僭越ながら宜しくお願いします。
https://twitter.com/5chan_nel (5ch newer account)
0157名前は開発中のものです。
垢版 |
2021/05/30(日) 02:14:00.16ID:VOVq5aSh
おろしや国辺りのサイトを見てると、痕跡は残っているのに、
Modそのものは結構消滅して行ってる感じが悲しい。
チャイさんヒスパさん系はフリーだったり、寄付募集したり、逞しい感じw
2D_Engineとしてかなり取っ付き易いのでもっと皆に弄って遊んで欲しいですね。
0158名前は開発中のものです。
垢版 |
2021/06/07(月) 00:31:12.40ID:kBKigIMN
分岐器で開発部門特製ソフトが発売されると大々的にCM打たれてますが
これを機にエディター系のジャンルが流行ってくれればなーと個人的には思いますが
カルネージハートは検索しても出てこないし、ヒューマンリソースマシーンとか
7ビリオンとか別に話題になってないみたいなんで、
おじ様達にちょっとヒットするくらいなんでしょうか

OpenBoRのほうはジャンプと攻撃のみでシンプルに楽しむ、王道2Dを弄っております
足場の端っこに立った場合のAnimとか用意してあって、OpenBoRの奥深さにいまさらながら驚いています。
0159名前は開発中のものです。
垢版 |
2021/06/09(水) 01:15:57.76ID:GZBN8r0d
純粋な2Dは難しいですね
パースーオリマーのようにジャンプで避ける、踏みつけて攻撃という
多少の派生動作はあってもシンプルな2種類の動作を選択するのみで
爽快感を得られるように工夫されている凄さに改めて敬服します。
OpenBoRでも、もちろんそのようなシステムにする事は可能ですが
ついつい、おキャッスルヴァーニャのように足を止めて打ち合う方に魅力を感じて
しまうのですが、その場合、足場の選択、自分の手数からの攻撃手段の取捨、
どの方向の敵を優先的に攻撃するか、などなどプレイする側はもとより
状況(ステージ)を設定する側の手腕も問われる訳でして
設定をチョッと間違えると、一瞬で無理ゲーや作業になってしまうので
あ熊城などの練り込み完成度の高さに、いまさらながら関心しています。
0160名前は開発中のものです。
垢版 |
2021/06/13(日) 00:36:10.90ID:54syd5Da
楽しい 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消去)
夢が広がるコマンドですね。
0161名前は開発中のものです。
垢版 |
2021/06/13(日) 00:57:23.46ID:54syd5Da
weapons {name1} {name2} {name3} {name4} {name5} {original name}
ちょっと説明が難しいのですが使うと便利なコマンドです。
というか DCManualを読むのが一番早いのですが、「なんか面倒そう」という感想を抱くかとおもいます。
また色々Anim設定しなきゃでしょ?と思うかも知れませんが、
modelflag 0(デフォ)となっていれば{original name}のAnimがコピーされます。
プレイヤーキャラを名前を変えてコピペして別キャラを作らなくても、
Anim Attack1〜3などのEntity(Model)を設定して、上の{name1}に記述しておけば
他のFreespecialなどは{original name}のAnimが実行されるので
Animを変えたい部分だけ作れば良いのです。
あるFreespecialを使うとスタイルチェンジ!とか変身!とかしたい場合便利。
特定のステージでプレイヤーの向きを固定(スクロール方向に)するなど、かなり便利なので
weaponFrame などこだわると結構いろいろ出来そうです。
0163名前は開発中のものです。
垢版 |
2021/06/14(月) 01:20:36.86ID:f6qMiOOZ
@script
if(frame==0) { float Vx, Vz, Vy=3, dx=0, dz=0;
void self = getlocalvar("self");
int dir = getentityproperty(self, "direction");
float x = getentityproperty(self, "x");
float z = getentityproperty(self, "z");
if (dir==0) { dx = -dx; }
setlocalvar("T"+self, findtarget(self));
if( getlocalvar("T"+self) != NULL()){
void target = getlocalvar("T"+self);
float Tx = getentityproperty(target, "x");
float Tz = getentityproperty(target, "z");
if(Tx < x) { changeentityproperty(self, "direction", 0);
} else { changeentityproperty(self, "direction", 1); }
x = x+dx;
z = z+dz;
Vx = ((Tx-x)/(22*Vy));
Vz = ((Tz-z)/(22*Vy));
} else {
Vx = 1 ;
if(dir==0){ Vx = -Vx ; }
Vz = 0 ; }
tossentity(self, Vy, Vx, Vz); }
@end_script
他人様のアイデアを偉そうに紹介するのもアレなんですが、近くの敵に誘導ジャンプします。
if(frame==0) { float Vx, Vz, Vy=3, dx=0, dz=0;
これで、Frame 0の時、ジャンプ力3(Vy=3)で届く範囲を索敵してジャンプします。
攻撃するかどうかは、Anim中に記述されたコマンド次第で、このままなら、
攻撃可能と設定した近くの対象にジャンプするだけです。
0164名前は開発中のものです。
垢版 |
2021/06/17(木) 02:47:33.77ID:1MwPeeuR
DOT {Index} {Time} {Mode} {Force} {Rate}
{Index} defines DOT index. Entity may have up to 10 DOT effects at one time. An entity can be hit by more than one DOT effect at once. If entity is hit by same indexed DOT effects, only the latest one will be applied.
{Time} defines how long DOT effect active in centiseconds.
{Mode} defines how DOT effect is applied to hit entity. HP damage is same type as original attack and affected by damage mitigation.
1 = Nonlethal HP (can reduce to 1 but not below).
2 = MP.
3 = MP and nonlethal HP.
4 = HP.
5 = MP and HP.
{Force} defines amount of damage per tick.
{Rate} defines delay between each tick in centisecond.

DROPVと同じように Attack コマンドと一緒に記述することで
一定時間、ダメージを与え続けるというもの、
Indexは特に気にしなくてOK(DOTが重複して掛かるかどうか)、Timeは持続時間(600で6秒)
ModeはHPにダメージ、MPにダメージか双方か、ダメージによって消滅するか
Forceは一回あたりのダメージ。Rateは総時間(Time)中、何回ダメージを与えるか
Timeが600でRateが100なら、1秒ごとに6秒間Forceダメージ与えるというもの。
0165名前は開発中のものです。
垢版 |
2021/06/17(木) 02:55:24.76ID:1MwPeeuR
スクリプトで同じような事をしようと思うと
anim idle
@script
if(frame==1) { void self = getlocalvar("self");
setlocalvar("BT"+self, findtarget(self));
if(getlocalvar("BT"+self)!=NULL()) {
void target = getlocalvar("BT"+self);
void PDir = getentityproperty(self, "direction");
int tx = getentityproperty(target, "x"), px = getentityproperty(self, "x");
int tz = getentityproperty(target, "z"), pz = getentityproperty(self, "z");
if(PDir) {
if( tz - pz < 10 && tz - pz > -10 && tx - px > 30 && tx - px <240) {
changeentityproperty(target, "lifespancountdown", 600 ); // openborvariant("elapsed_time")+300);
changedrawmethod(target, "reset", 1);
setlocalvar("BT"+self, NULL());
changedrawmethod(target,"tintmode",3);
changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 32)); }
} else {
if( tz - pz < 10 && tz - pz > -10 && tx - px > -240 && tx - px <-30) {
changeentityproperty(target, "lifespancountdown", 600 ); // openborvariant("elapsed_time")+300);
changedrawmethod(target, "reset", 1);
setlocalvar("BT"+self, NULL());
changedrawmethod(target,"tintmode",3);
changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 32));
} } } }
@end_script
余計なことたくさんしてるんで長くなってますが、
自分の進行方向の敵を標的に選んで、縦軸にずれが10ドット、横軸30〜240ドットにいる
一番近い敵の色をちょっと赤っぽくして6秒後に即お陀仏というもの
DOTと同じような事をしようとするとスクリプトでは結構な手間がかかります。
いかにOpenBoRの基本コマンドが良くできているかということですね。
0166名前は開発中のものです。
垢版 |
2021/06/17(木) 07:47:06.34ID:1MwPeeuR
上の例は、こんなことできたらいいなで、ざっと記述し動作確認します。
動作確認できたら、同じ処理をフラグで簡略化したりして
@script
void self = getlocalvar("self");
setlocalvar("BT"+self, findtarget(self));
if(getlocalvar("BT"+self)!=NULL()) {
void target = getlocalvar("BT"+self);
int tx = getentityproperty(target, "x"), px = getentityproperty(self, "x");
int tz = getentityproperty(target, "z"), pz = getentityproperty(self, "z"), IR=0;
if(tz - pz < 10 && tz - pz >-10) {
if(getentityproperty(self, "direction")) {
if(tx - px > 30 && tx - px < 240) { IR = 1; }
} else {
if(tx - px >-240 && tx - px <-30) { IR = 1; }
}
}
if(IR) {
changeentityproperty(target, "lifespancountdown", 600);
changedrawmethod(target, "reset", 1);
setlocalvar("BT"+self, NULL());
changedrawmethod(target,"tintmode",3);
changedrawmethod(target,"tintcolor",rgbcolor(255, 64, 0));
}
}
@end_script
こんな感じに直します。動作は一緒なんで、別にやらなくても良いのですが、なんとなくw
0167名前は開発中のものです。
垢版 |
2021/06/21(月) 00:28:30.55ID:hNfJwRs9
勝手な想像なのですが、どうもOpenBoRの基本として
エフェクトに関しては左右反転のようです、というより何となく
PCゲームに関する表示はまるで画面の反対側の世界が基準のような?
バイナリが逆から数えるのが基本みたいな事なのかなあ?
まあ、その辺の事を素人が考えても仕方ないのですが、
何が言いたいかというと、敵を攻撃した際のエフェクト、基本のキャラクター設定では
画像を、進行方向「右」で作るので、ついエフェクトなども「左から右に向けて」はじけるような
ものを作ってしまいがち、ですが、実際は「右から左に向けて」作り
表示の際は EntityのヘッダーにToflipを記述して左右反転する必要があるようです。
なにか他にコマンドがあるのか、Level.txtの向きの関係なのか謎は深まりますが
色々コマンドで小細工するより、キャラクターなどは左から右に向けて
エフェクトなどは右から左に向けての画像を用意すれば、余計な苦労はしなくて済むようです。
特に左右関係ない場合は別に気にする必要も無い事なのですが。
因みに、当方が苦労したのがBlock(Bflash)で基本、ガードエフェクトなのでが、
弧を描くようなエフェクトが対象に表示されるつもりが、自身にガードエフェクトが表示されるという。
なかなか難しいものです。
0168kt住江 ◆/VMXjFOJew
垢版 |
2021/06/26(土) 17:09:38.82ID:ZHxLPI+W
皆さまこんばんは、kt住江。
開発途中経過の画像を掲載します。
ダブルドラゴンではお馴染みの敵キャラ、アボボです。
ttps://twitter.com/ktsuminoe/status/1408697712560640002/photo/1

完成締め切りまで1か月に迫ろうとしていますが、
この勢いで完成目指して頑張ります。

>>167さん
いつも有用なスクリプトの掲載お疲れ様です。
https://twitter.com/5chan_nel (5ch newer account)
0170名前は開発中のものです。
垢版 |
2021/08/02(月) 22:04:54.46ID:9n8sAsEi
最近OpenBoRのゲームのプレイに手を出し始めた者なんだが専門スレもないしネットの情報は古い物が多いしで中々難しいですね
YouTubeに動画だけはあるんだけども、みんな何処で拾っているのか…どこかOpenBoRゲーム見つけるならココ!って所があるのでしょうか…
0171kt住江 ◆/VMXjFOJew
垢版 |
2021/08/05(木) 00:33:29.43ID:6dNJ9gOJ
>>170さん
自分の作ったゲームで大変恐縮ですが、
コチラのサイトで、わしの作ったOpenBORゲームをプレイするコトができます。
ttps://amberusagi.theblog.me/posts/13123474
それ以外の海外の皆さんの作ったゲームを落とせる場所はわかりません。
お役に立てなくて申し訳ないです。

1.2年B組ギコタク先生外伝
2.カオスファイト
3.コテハンファイト<男子禁制編>
4.アインバインの平日
5.熱血硬派くにおくん <アメリカロサンゼルス編>
6.巫女と吸血鬼
7.コテハンファイト2<削除隊出動編>
0173kt住江 ◆/VMXjFOJew
垢版 |
2021/08/08(日) 13:48:05.59ID:TqdOxX7Y
>>172さん
楽しんでプレイしていただければ幸いです。

本日、21時頃にダブルドラゴン番外編を公開します。
それに先立ち、予告としてOP動画を公開します。
皆様、僭越ながら21時にお楽しみにくださいませ。
ttps://twitter.com/ktsuminoe/status/1424230262049624064
https://twitter.com/5chan_nel (5ch newer account)
0174kt住江(の代理)
垢版 |
2021/08/10(火) 23:17:46.84ID:WkbwC70K
kt住江さんが規制されて書き込めないようですので、
代理で投稿します。
遅れてしまって、申し訳ありません。

『ダブルドラゴン番外編』公開します。
ダブルドラゴンの二次創作ゲームとなっています。
宜しくお願いします。
ttps://ux.getuploader.com/gikotakurpg/download/109
12300
0175名前は開発中のものです。
垢版 |
2021/08/13(金) 15:16:57.55ID:9IbNxB71
新作楽しみにしてました。
暫く出先なので帰りまで待たねば。

>>170 さん 公式サイトでも結構な数がアップされてますよ。過去作もメガ経由で保存されてるものも結構あります(リンクは公式内)。
0177名前は開発中のものです。
垢版 |
2021/09/08(水) 23:48:26.99ID:U44AQQtE
飛龍の拳のOpenBoR探してますがコレもう手に入らないんですかね?
Youtubeで見かけるので今探してます
0178完成形openborほぼ持っています
垢版 |
2021/10/18(月) 14:09:41.38ID:33ZvJVsJ
天堂少女6.0をお持ちの方、望みのborと交換をどうにかお願いします
ログイン出来ないのでこれだけ入手出来ません...v5とは違う内容になっております(泣き)
0179名前は開発中のものです。
垢版 |
2021/10/19(火) 08:33:19.41ID:4++tnlDZ
書き込めない人はなんとかchMateをダウンロードとインストール
例 2chMate 0.8.10.113 dev 用 Android - ダウンロード . APK
0180完成形openborほぼ持っています
垢版 |
2021/10/20(水) 01:47:18.76ID:ObjLlOU1
製作側としては2004年には完璧なものが出回っていたのでborのpak名前見つけても落とせる場所は散り散りになっています(ある程度固まっていることもあります)
0181完成形openborほぼ持っています
垢版 |
2021/10/20(水) 02:21:05.74ID:ObjLlOU1
ジョルトとクロノは削除だらけで採用枠の2次配布が少しあるだけレディットも削除されたけどその他11リンク固まり持っています
0183完成形openborほぼ持っています
垢版 |
2021/10/28(木) 22:49:46.08ID:KrBnenwN
QQに登録して月曜日のみ昼にフォーラムに投稿した後にダウンロード出来るという噂話ですがどうやら一度しかチャンス無くすぐに永久追放になるようです?
私にはもうチャンスがありません
0184名前は開発中のものです。
垢版 |
2021/11/21(日) 00:03:24.16ID:VtEjDPfO
お疲れ様です。
MOD探しの旅は自ら終わらせない限り永遠に続くのが悩ましい限りですね。
こればっかりは無いときはぜんっぜん見つからないので、
一旦休んでみて、例えばkt住江様の新作を楽しんでみるのも良いかもしれません。
1〜2年気長に待つくらいの気持ちか、もしくは自分で作っちゃうの手です。
健闘をお祈りしております。
0185完成形openborほぼ持っています
垢版 |
2021/11/22(月) 15:49:31.11ID:lGjD4LZY
ありがとうございます!
1つ公開します
mega.nz/#F!52IXFCjC!KOySpJRVIZiR6ubGFlZkNA
最近変な表示が出るようになったので注意!
0187名前は開発中のものです。
垢版 |
2021/11/23(火) 21:59:27.00ID:ehRTnaRw
天堂少女ってHeavensAnimeGirls のようですね
v0.6は動画でしか確認出来てませんが、使用できるプレイヤーキャラが大幅に増えているようですね。
各ヴァージョンをコレクションしたい気持ち、とても良くわかります。
いくつか検索してみましたが、v0.5までしか見つかりませんでした。
気長に探すしかないようですね。ロシアあたりにあれば話は早いんですが
0188名前は開発中のものです。
垢版 |
2021/11/24(水) 13:08:29.11ID:rmJqxES9
kt住江さん作成された『ダブルドラゴン番外編』
連打や必殺技のみではクリアできない絶妙バランス最高です。
武器毎の技の違いも楽しい。これは2人プレイしたい所ですが、相手がいなくて残念。
ストーリーの語り口もらしさが出ていて、流石の作り込みです。
0190完成形openborほぼ持っています
垢版 |
2021/11/24(水) 17:02:55.84ID:2M7unTbr
ありがとうございます!
どうもバージョンが古くて完成度が低め?なので公開... おすすめ度★☆☆☆☆
www.speedallonlinegamessiteshere.com/beats-of-rage-game-club
少し怪しいので注意!
0191名前は開発中のものです。
垢版 |
2021/11/25(木) 00:09:47.20ID:W12+EvFr
自分で書き込んだ筈なのですが、数ヶ月前のスクリプトの部分の記述ですが、
全く覚えが無いです。いま読み返して愕然としています。
もともとですが文章も変だし、アルコール減らさなきゃいけないなあ。
0192名前は開発中のものです。
垢版 |
2021/11/25(木) 11:01:55.70ID:3OlvYkSG
完成形openborほぼ持っています

PCゲーム作る時何かで一度やめて、途中で止まって時間が経つと記憶が飛んで大抵そこで心が折れますね
0193名前は開発中のものです。
垢版 |
2021/11/25(木) 13:17:25.09ID:5Oypg+xz
ChronoCrashが9月頃にリニューアルしたようですね。
Tips等のよく参考にしていたページがどこかへいってしまって
wikiやdcマニュアルから拾いなおさないとです。
こんな所でも、こまめに保存という基本が重要になってくるとはw
0194名前は開発中のものです。
垢版 |
2021/11/25(木) 22:21:42.59ID:W12+EvFr
>>193
Forums> OpenBOR> Help and Advice> Tutorials
以前の物と同じかは分かりませんが、こんな感じにまとめられていますね。
使いづらかったタメ攻撃をタメ時間で色が変わって判り易くするスクリプトなど
興味深いページが沢山ありますね。
0195名前は開発中のものです。
垢版 |
2021/11/28(日) 02:45:24.00ID:rPPOQv2a
私はMUGENのキャラをインポートして人様のMODに登場させて
ぼくのかんがえた さいきょうの、、、という感じで楽しんでいますが
素材からしっかり作られている kt住江さんの作品を遊ぶときは
なにも弄らず楽しませていただいてます
kt住江さんの作品に触れると ゲームとして楽しめると同時に
「自分も何かしなくては」という奇妙な衝動に駆られます
もっともっとOpenBoRが広まってくれればと思うのですが
なかなか難しいものですね
0196名前は開発中のものです。
垢版 |
2021/11/28(日) 09:26:20.98ID:OSCDhHJ9
mega.nzはイラつく!古いサーバー古い端末のみの対応!変な表示が出る!そろそろ終わる(サービス終了)かも知れない...
0197名前は開発中のものです。
垢版 |
2021/11/29(月) 00:12:10.58ID:E9t8LYV6
ホラー映画を題材としたMOD、 「Dream of Rage」2016年頃の少し古いものですが
世界観、雰囲気作りも上手く、なかなかの力作です。
ゲーム中にある場所に閉じ込められて、世界観が別のキャラクターとも
戦闘になるという、様々な種類の敵を混ぜこぜにせずに
うまく作品に取り込んでいます。
手書きの主人公キャラ達にも愛情を感じます。
ナイトスラッシャーXなどの力作も存在しますが、
綺麗なドット絵で滑らかにアニメを描かなくても十分楽しめる
すばらしい作品になっています。
0199名前は開発中のものです。
垢版 |
2021/12/01(水) 01:43:54.69ID:/pbcGTiI
メガさん、結構便利に使わせていただいてました。
一定時間ごとのDLするバイト数に限度が設けられていて、
無料では6時間で6ギガだったかと思います。
海外のサイトとしては、
そこそこのスピードで日本語対応で結構良心的かなと個人的には思います。
独特なグラフィック、システムで独自の世界観を築いてる
The Burnig Fox Silver Edition
演出過多な感じもありますが、スタンスチェンジなどopemBoRのシステムを
上手く使って表現していると感じます。
0200名前は開発中のものです。
垢版 |
2021/12/01(水) 20:27:50.45ID:+3LvzsAh
meganzはファイル破損確率が高すぎる上にファイル入手できないまましばらく使えなくなる問題

地獄確定パターン
1 普通に完全に止まる フリーズ
2 緑から赤に変わる
3 &#10035;くるくるマークが出て止まる

こうなるとは思わなくってもなると地獄確定

何度も約2.1GB(終了寸前)のところで出て悶絶(今日も最初からやり直すのかぁ)
0201名前は開発中のものです。
垢版 |
2021/12/10(金) 22:06:31.75ID:huoNRfrD
メンテかもしれませんが、ちうごくのMODサイトのOpenBoRコーナーが
404になってしまいましたね。おろしあ国もリンク切れが多くなってきましたし、
新規MODはなかなかお目にかかることが少なくなって行くのかも、、、
最後の砦、南米に期待ですね。
0202名前は開発中のものです。
垢版 |
2021/12/12(日) 20:32:10.57ID:KytmStWz
意味がわからない
訳も分からないまま
探し方がわからない
dl.openhandhelds . org / cgi-bin/gp2x.cgi?0,0,0,0,35
なので... おすすめ度☆☆☆☆☆
0203名前は開発中のものです。
垢版 |
2021/12/20(月) 15:58:00.54ID:oKQr6OxX
>>202
そのサイトはアンドロイド内蔵の携帯ゲーム機用のもので、ディレクトリを少し遡れば、フィルターでOpenBoRのMODが出て来たと思いますが、ちょっと古めかもしれません。MODそのもののpakファイルは共用なので、pcならwin用のVer.3-3789〜40xx辺りのexeで動くと思います。
0204名前は開発中のものです。
垢版 |
2021/12/22(水) 00:30:28.02ID:JMIXRzEr
完成形openborほぼ持っています
メリークリスマス(仮)
ナイスお返事!
セラムン揃います
www.mediafire . com / folder/a1aln6f2x8e0l/OpenBor%20Paks
★★★☆☆☆☆☆☆☆
個人的に5ちゃんねる制限多すぎなのでついでにこちらも
模擬 まっくす
I've regained enough strength!
★★★★★★★★★★(個人的な感想です)だけど最近は極端に不安定
0205名前は開発中のものです。
垢版 |
2021/12/23(木) 01:30:21.25ID:VTx10iz2
面白いスクリプトを発掘wして嬉々として転載しようとするも、
規制に巻き込まれて台無しになるなんてことも多くありますね。
書き溜めするほどの計画性もないので、紹介できなかったらそのまま藻屑と消えます。
クロノクラッシュさんという究極のサイト内を読めば良い事なんですが、
でも、せっかくなんで、ここ切っ掛けでさらにOpenBoRに興味を持ってもらえたら何よりだと思います。
0206名前は開発中のものです。
垢版 |
2021/12/23(木) 02:00:14.20ID:VTx10iz2
こういう駄文を投稿するときは規制に掛からない謎。

上のほうで話題になっていたHeavens Anime Girlsのように
女性キャラが活躍するMODは他にもLadies of Rageや
Remix LadiesEdition、Rescue Command、Bad SchoolGirls
BishojoDimentionalChaosや、AndroidGirls、TripleRoseなどなど
派生含め枚挙に暇がありませんね。
今年は、kt住江さんの新作が遊べたのでとても有意義な年になりました。
来年も皆様にとって良い作品に恵まれますよう。
0208名前は開発中のものです。
垢版 |
2021/12/24(金) 02:14:16.10ID:ZoANwzus
>>206>>205 宛て
スクリプトなど皆に知ってもらえたらと思う事を書き込むときは規制され、
テストがてら適当に打ち込んだら規制に掛からなかったという、
自分の運の無さを嘆いただけですので、お気になさらず。
0209名前は開発中のものです。
垢版 |
2021/12/25(土) 06:47:37.18ID:dCTZxvz6
女性キャラが活躍するMODを精力的に開発されてるKOU氏。
テスト含め作品アップされるに速さにちゃんと寝てるのかな?と心配になります。
Scriptsの使用は最低限で、テンポの良い展開なので気軽に楽しめます。

Girls Special 2のなかでWendyというキャラ
Anim Grabupでパイルドライバーを仕掛けるのですが、
Followanim、Followcnd、Jumpframe、Damageonlandingなど
基本コマンドだけで上手く作られています。
0210名前は開発中のものです。
垢版 |
2021/12/26(日) 02:07:16.83ID:mvlvz1Gg
上のKOU氏作、The Girls Special II において、ヴァージョンによっては
ステージ3、ステージ4のそれぞれのボスで落ちる場合もあります。
そんなときは、Pakファイルを解凍し
Data → Storyと開いて、3-3.txtのSodomをSodom_Eに
4-3.txtのZeroをZero_Eに書き換えると落ちずに進行できるようになるかも。
0212名前は開発中のものです。
垢版 |
2021/12/29(水) 02:17:59.38ID:j7WhKXxu
>>211 さん
Ladies of Rageのヴァージョン全てでエラーが出るという事は
OpenBoRのEXE自体のビルド(Ver.3−40xxとか63xxとか)の相性かもしれません。
Ver.3-3789あたりで試すと通る事が多いのですが、
EXEファイルを1回実行すると、同じフォルダーに自動でLogフォルダが作成されます。
そこにTXTでログが作成されるので、先ずはそこをチェックしてみるとよいかも。
一番下に、読み込もうとしたけどファイル無かった、などエラーが記述されているかも。
あと、セーブフォルダの中を空にしてみるとか。
0213名前は開発中のものです。
垢版 |
2021/12/29(水) 15:09:35.80ID:yUoxw/l7
ステージ8〜9まであるっぽい
ステージ5 の 20 以降何をしても進めたことがないのでとりあえず解決しなさそう...
訳ありのv11をやりたくないですが中身を比較するしかなさそう...(そもそもなぜv3の次がv11なのか...)
また困ったらお願いします
0214名前は開発中のものです。
垢版 |
2021/12/29(水) 15:35:10.62ID:j7WhKXxu
私が所有しているのは、2015年にリリースされたv3ですね、
OpenBoR ビルド4089で動作するとなっていますが、もう記憶もあやふやなんで
中身を見てみましたが特段怪しいところも無さそうです。
まだオープニングだけですが、OpenBoR Plusでも動作してるようです。
scene data/scenes/round5.txt
scene data/scenes/boat.txt
file data/hard/3ahard.txt
file data/hard/3bhard.txt
file data/hard/3chard.txt
scene data/scenes/sarah.txt
たまに、例えば上の3ahard.txtの中で呼び出しているアイテムやオブジェクト、敵などが
Models.txtで設定されていない、または名前を間違えてるとかありますが
その場合、Logsフォルダにエラー内容が記述されます。
HDDが休止状態になって、ステージクリアからの次のデータ読み込みまでのスピンアップのために
数秒間フリーズすることもあります。
0215泥酔迷走スーパーラリー
垢版 |
2021/12/29(水) 15:38:00.85ID:yUoxw/l7
3c hard ステージ5 の 20 辺り?
だけ空欄が多い
3a hard 1c hard を 3c hardに合体(修正)させるべき...?
0216名前は開発中のものです。
垢版 |
2021/12/29(水) 15:44:48.08ID:j7WhKXxu
突然暗転して落ちる場合、私の経験では、ほとんどがビルド違い
私の区別ですが大まかに、3シリーズ、4シリーズ、6シリーズがあって
この3つを試せば大概動作(Win7だと)するんですが、ごくたまに
DLLが必要なこともあります、ただこれは作者さんが同梱することも多いです。
あーWin10環境でのテスト経験は無いので、そっち方面かしらん?
0217泥酔迷走スーパーラリー
垢版 |
2021/12/29(水) 16:05:41.72ID:yUoxw/l7
付属のopenbor exeは一部信用出来ない ですよねクェイサーマスカクfinalとか
真面目に調べてくださりありがとうございます!
0218名前は開発中のものです。
垢版 |
2021/12/29(水) 21:28:20.07ID:j7WhKXxu
さて、どうも>>211 さんのV3と私の所持しているV3が違うっぽかったので、
検索して適当なV3をDLしてみました。
確かにシーン5の2から3に移行するところで落ちます。で、上のようにLevels.txtと
3chard.txtファイルを覗いてみましたが異常はなさそう。
となると、そのステージに関連するファイルが足りないとか、ファイル名を間違えてるとかか?
LogsフォルダのOpenBorlog.txtを見ると、このファイルが無いんす ‘ ‘ とログでてますが、
いやいや ‘ ‘ ここに問題のファイルとかの名前や処理名が入ってるはずなんですけど?
こういうエラーって大概スクリプト関連だったりするんですが、Ladies of Rageは
ラッシュのカウント程度のUpdate.c位しか使っていません。
ちなみにボーナス10000!とか出ますが、表示する部分「しか」ないので、実際にスコアに反映はされませんw
ログを順繰り遡ってゆくと、最後にSarahというキャラを読み込もうとしてます。
3chard.txt内でも
spawn sarah
alias kisarah
health 600
boss 1
map 1
coords 580 220
at 0
0219名前は開発中のものです。
垢版 |
2021/12/29(水) 22:37:50.17ID:w27ZNLp7
目星がついてきました、Models txtを調べて、Sarahの所在を確認
そして Sarah txtを覗いてみると、

bbox 37 15 31 54
attack 73 46 50 31 15 1
frame data chars sarah jk3 gif
attack 0
frame

[EOF]
作りかけじゃないですか!なんてこったい!
そりゃOpenBoRも困ってエラー内容 ‘無‘ にしてしまうよ。
という訳っで、
正常に動作していた2015年版の過去ファイルと差し替えました。
完成させてみるのも一興かもしれませんね。
チラ裏的なレスですが、普段もこんな感じでデバグしてます。
0220名前は開発中のものです。
垢版 |
2021/12/29(水) 22:55:05.99ID:w27ZNLp7
>>ちなみにボーナス10000!とか出ますが、表示する部分「しか」ないので、実際にスコアに反映はされませんw

結構やっちゃうんですよね。
コピペを駆使してスクリプトを完成させたはずが
あれ?表示されてるし、ちゃんと動いてるのに…
数時間後、あああ記号がいっこ抜けてたああとか
括弧閉じ忘れてまとめて処理されてたりとか、
いちおう動作はしてるバグが一番やっかいです。
0221泥酔迷走スーパーラリー
垢版 |
2021/12/29(水) 23:07:59.03ID:3jkvbCz1
>>218
www.google . com / url?sa=t&source=web&rct=j&url=ht t ps://m.youtube . com / watch%3Fv%3DM4x7cFnsCGc&ved=2ahUKEwig_d6CjIn1AhWF-2EKHYAMA0gQo7QBegQIBRAF&usg=AOvVaw2CBZv7GYDyVFfpuEWs4Cut
(空欄10個)
42 : 50のようにならないですね
うろ覚え
openbor ストームエディションで検索?
訳ありLadies of Rage v11と思われるもの
www.google . com / url?sa=t&source=web&rct=j&url=ht t ps://www.youtube . com / watch%3Fv%3DR2eWj87PvtI&ved=2ahUKEwjN5OmTlon1AhWPOZQKHRABAqMQwqsBegQIBRAF&usg=AOvVaw3dhf1xsmO92_rqoG7-siPO
0222泥酔迷走スーパーラリー
垢版 |
2021/12/29(水) 23:20:12.36ID:3jkvbCz1
オープニングのど真ん中にいる一条あかり等も作りかけっぽかったです
詳しく調べてもらいすみませんでした!
0223名前は開発中のものです。
垢版 |
2021/12/31(金) 00:27:03.12ID:YNzMAPth
ある程度、ステータスを調整するスリプト
これをEntityのヘッダーの一番下(初期HPやスピードを設定した後)に
記述すると、そのキャラがスポーンした時にスクリプトの内容の計算で調整されるというもの
onspawnscript @script
void main() {
void self = getlocalvar("self");
void c = openborvariant("count_players");
void mh = getentityproperty(self,"maxhealth");
int lv = openborvariant("current_stage");
int level = openborvariant("current_set");
float spd = getentityproperty((self),"speed");
mh = mh*(0.4+level*0.2+lv*0.07+0.1*c);
spd += (c-1)*0.04+(lv)*0.02;
changeentityproperty(self,"maxhealth",mh);
changeentityproperty(self,"health",mh);
changeentityproperty(self,"aggression",-100+lv*5 + 10*c + level*25);
changeentityproperty(self,"speed",spd);
}
@end_script
助っ人NPCに設定しておけば少しは頼もしくなるかも?
0224名前は開発中のものです。
垢版 |
2021/12/31(金) 00:46:15.46ID:YNzMAPth
Ladies of Rage 他 OpenBoR のMODは一度アップロードされてしまうと
たやすく改変できてしまう分、様々な派生や亜種が創出されてしまいます。
まあなので私も自分のお気に入りキャラを参戦させて楽しませてもらってる訳ですが、
作者さんがSNSなどで発表していない限り、
Verやナンバリングもほとんど意味を成さなくなっていたり。
>>218 のようにVerは同じ表記なのに内容が違ったりも良くある事ですね。
内容は変わらないのに、技の掛け声が聞いた事の無い国の言語で驚く事もままありますw
〜3などとナンバリングは増えてるのに、内容は雑に改変されていたりw
気軽にUnpakしてMODを調整、改造できるのもOpenBoRの良いところです。
0225名前は開発中のものです。
垢版 |
2021/12/31(金) 03:32:09.85ID:kqr7Z1sS
>>221 さんの紹介している Ladies of Rage openbor Storm Edition
これは、ジャック フロストさんがチューニングしたとオープニングデモで表示されてますね。
ノーマルモード(P.M.S.)に関しては特に変化は見られないようですが、
シーン5の船のステージも問題なくクリアできてます。
操作可能キャラが増えている(説明では+7)のが主な調整のようです。
もしかしたら、操作可能キャラが11体でV11ということかもしれませんね。
私は Mix Masters から強キャラに出張していただいて無双クリアしたので、
新規キャラは触っていないのですが、敵キャラをプレイアブルにした感じでしょうか。
kt住江 氏のような職人技に出会える機会はなかなか訪れませんね。
さて、今年も押し詰まってまいりました、みなさま来る年も良いOpenBoRライフをお迎えください。
0226名前は開発中のものです。
垢版 |
2022/01/01(土) 01:36:30.51ID:nRgqox06
泥酔迷走スーパーラリー
動画 (笑) 一発ギャグ
Hokuto no ken Fury road
Ninja Jiraya 旧版
Yu Yu Hakusho
One Piece Grand Line Bout
0227名前は開発中のものです。
垢版 |
2022/01/01(土) 02:38:28.08ID:nRgqox06
バランスブレイカー Goku (爆笑)
敵全員 一撃必殺
ネタゲーム名 無名 (Legend Heros) with 空欄(saiyajin)
オブジェクト岩攻撃すると何故か自分に飛んで来て被弾する
0230名前は開発中のものです。
垢版 |
2022/01/02(日) 17:52:59.47ID:hMCLGhN2
本年も宜しくお願いいたします。
さて、上の方で Bindentityコマンドを利用して、例えばロボットキャラクターを
別パーツで動かす事も出来ると紹介しました。
実際に動かすとどのようになるか、実験動画をアップしましたので興味があったら
検索してみてください(お手数ですが;)。
[OpenBoR][BindEntity] でたぶんヒットします。
ちょうど少し上で話題に上がった LoRのシーン6で出現するキャラクターです。
おあつらえ向きにロボットタイプの敵ですが、アームパーツが攻撃時の時にしか描画されなかったものに
BindEntity をつかってAnim IdleやWalkにもアームパーツを描画させるようにしました。
これは本体のAnimとアームのAnim作成という2重の手間がかかりますが、
個人的にとても好きな表現ができます。
ただBindEntityの特性なのか、投げや吹き飛ばしで画面外に飛び出すと、アームのBindが
外れてしまうんですよね。
それがなければ Anim Spawnで一回処理するだけでよいのですが、動画ではAnim Fallで
KillEntityして、Anim Riseで再度BindEntityしなおしてます。
0231名前は開発中のものです。
垢版 |
2022/01/03(月) 11:56:39.10ID:p7G/qzju
>>230 bindentityが消えてしまうバグについて
githubに報告が挙がってるようです。
パーツに"parent"を設定すれば良いかもしれないとのこと。
帰ったらやってみます(覚え書きw)。
0232名前は開発中のものです。
垢版 |
2022/01/04(火) 00:00:20.80ID:qGcwff+H
anim spawn
@script
if(frame==0){
clearspawnentry();setspawnentry("name","arm1");
void ent = spawn();
void self = getlocalvar("self");
changeentityproperty(ent, "parent", self);
bindentity(ent, self, 0,0,30,1,4,1);
}
@end_script
delay 10
offset 148 183
frame data/chars/cmai/TEST.gif
〜〜
これをAnim Spawnに組み込むことで>>230 で書いていた
パーツをBindされた親が画面外に出てもパーツが消える事が無くなりました。
そもそも消えてしまう症状の動画はアップしてないので、チンプンかもしれませんが
私にとっては大きな前進です。
0233名前は開発中のものです。
垢版 |
2022/01/05(水) 01:30:20.23ID:goRsCJ1g
動画を差し替えました。
Bindentityの効果について1分ほどの動画ですが、
パーツ無しと有りでの違いが判り易くなったかな?と思います。
ざっとキャプチャしただけなんで、見た目の違いだけなんですけどね。
近くにいる敵を自動攻撃する武器をBindしてパワーアップみたいなこともできますし、
逆に敵からのマイナス効果をプレイヤーにBindしてウザったくも出来るわけです。
コマンドWeaponも一緒に使えば可能性は無限大ですね。
私は脳みそオポンチなんで、どなたかが凄いの作成していただけるの待ちです。
0234名前は開発中のものです。
垢版 |
2022/01/07(金) 22:51:50.27ID:lwzz9SAl
上のほうで、EntityのPropertyをスクリプトで変更することにより、
敵を味方にできると書き込みましたが、その例を動画で上げました。
敵が小さくなって青い光に包まれている間、味方になっています。
アレでアレなキャラなのできっとすぐ消えますw
よく顔の部分を挿げ替えたキャラがいますが、それ対策なんですかね?
0235名前は開発中のものです。
垢版 |
2022/01/08(土) 15:28:47.36ID:vfOCEL3O
>>228, >>229さんはMODにお詳しそうですが、
プレイヤーが装備品を交換してステータスを変えられるMODはご存知ありませんか?
テッケンのdemoであったような気もします。
何でも良いのでお心当たりあったら情報お願いいたします。
0236天堂少女6.0探しています
垢版 |
2022/01/08(土) 21:00:08.99ID:5Lb1/KKH
天堂少女6.0探しています
!マスカク
-道に武器が落ちている-
-やよい必殺技アイテム呼び出す-
!Briga de Rua (Ver. 1.0)3666
-ケン別キャラに変身-
!m . youtube . com / channel/UCp2L23xB6wcWVckmKi7BMnQ/videos
-なんか鉄パイプが落ちてた-
-Girls4変身してた-
!Contra Locked 'n Loaded (Ver 2.0)3789
-武器切り替え?-
0238名前は開発中のものです。
垢版 |
2022/01/09(日) 02:29:27.53ID:jzItCxMh
某チューブに動画をアップして公開前に視聴数1とか増えてるんですが、
超怖いんですけど、そういうものなんですか?
Stealthコマンドのテストですが、敵がこちらを見失うという、とても地味な効果。
途中ミスから生まれたNPC増殖技で敵をボコスカしてますが、
本当は気弾的なものを撃つ予定でしたw
敵が赤くなっているのは怒りモードではなく、こちらの技がちゃんと効いてるか
確認のためにDrawmethodで色を変化させています。
赤くなったら15秒で強制昏倒するようにChangeEntityPropertyでLifespanをいじってます。
0239名前は開発中のものです。
垢版 |
2022/01/09(日) 09:17:08.09ID:e5/5wAc8
自動回数AIチェック 基準は不明で誤アカ追放あります...
それか自分自身でもディレイで増えている?
0240名前は開発中のものです。
垢版 |
2022/01/09(日) 23:59:21.01ID:jzItCxMh
なるほど、ありがとうございます。
AIチェックですか、確かに人のチェックじゃ捌ききれないですよね。
アップして保留あいて説明文書いてる最中だったので、AIさんなのかな。
0241名前は開発中のものです。
垢版 |
2022/01/13(木) 13:01:58.62ID:C40IH/E9
drawmethod の単独コマンド指定で
tintcolorやfillcolorの色指定方法が
やっと判明
パレット指定も出来ると書いてありますが、そちらは不明
0から255までの数値でR,G,Bの三原色を各々指定
例、drawmethod fillcolor 255_255_255
区切りはアンダーバーです。例では真っ白ですね。
チャージマックスで白く光るとか便利。
0242名前は開発中のものです。
垢版 |
2022/01/19(水) 03:20:19.45ID:icpjxPIn
某ムゲン用キャラクターからアレしたキャラなんですが、元の画像サイズが超巨大で
SAEというエディターで縮小して(FFでも可能)、さらにOpenBoRの
Drawmethod コマンドのScaleを使って調整した動画を上げてみました。
例えば、Frameコマンドの前にDrawmethod scale 0.8 0.6 と記述すれば
以降のFrameの画像は横(x)20% 縦(y)40%縮小されて表示されます。
Scale 1.2なら20%大きくなります。ただし、戻さないと(Scale 1)ずっと調整されたままです。
癖はありますが、とっても便利なのでお試しあれ。
独自に画像を用意したほうが手間が掛からない事もたまによくあります。
0243名前は開発中のものです。
垢版 |
2022/01/19(水) 11:16:22.48ID:Ec9S6zOR
最近特に規制ラッシュ厳しすぎない?
投稿エラーばっかりで何も書き込めない...ここももうダメかなぁ
0244名前は開発中のものです。
垢版 |
2022/01/19(水) 14:30:01.69ID:EZ4VtvX3
neko57やUsaMimi全然できないね
rgss2a数値変えたいけれども
fuzzy(unknown)でも惜しくもない何もかすりもしなかった
低スペックpc32bitだからかなぁ
0245名前は開発中のものです。
垢版 |
2022/01/20(木) 12:56:49.86ID:u2BymVt9
>>242 でなぜMUGEN用のエディタで一度縮小してるの?
これはOpenBoRでいきなりDrawmethodを使って大きな画像を拡大縮小させると、offsetの誤差でずれて表示されてしまうからです。
スクリプトでsetdrawmethodを使えばあるいはcenterxなどで拡大縮小や回転の軸を指定できるかも?ですが、まだ模索中
0246名前は開発中のものです。
垢版 |
2022/01/24(月) 00:24:22.37ID:0KDXzbPh
たまに、ステージクリアあたりの敵を倒すとドッカーン!とK.O.的なエフェクトが
画面いっぱいに広がる事がありますが、あれの簡単な方法は
K.O.エフェクト画像を表示するアイテムを作成し
エフェクトを展開させたい敵にアイテムとしてドロップさせればドッカーン!です。
言われてみると単純な事ですが、私には思いもよらない事でした。
0248名前は開発中のものです。
垢版 |
2022/01/30(日) 16:14:24.11ID:0oxbUQ1X
kou氏 の開発中 girls special4 着々と進んでいるようですね。
スクリプトは要所でのみ使い、シンプルでテンポの良い
ゲーム進行でが気持ちよく遊べます。
たまに怒涛のラッシュ等もあり、飽きさせない工夫もされているようです。
個人的にWendyが気に入ってます。
作り続けるって大切な事なんだと改めて思います。
0249名前は開発中のものです。
垢版 |
2022/02/03(木) 07:04:02.97ID:UxXtcp5/
質問です!
ファイナルファイトPCをいじってるんですけど
@cmd throw を仕掛けた時の相手のリアクションってどこで指定するんでしょうか?
throwの後の数字はおそらく ダメージ ? x軸 y軸 となっていて
?の部分が1-3が全部fall1のアニメだったりイマイチ分かりません
0250名前は開発中のものです。
垢版 |
2022/02/05(土) 01:34:51.32ID:8GsEw0Lg
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
件のスクリプトの内容は正確にはちょっと判らないのですが、上の内容を実行したらどうなるか動画にしておきます。
0251名前は開発中のものです。
垢版 |
2022/02/05(土) 02:10:42.29ID:8GsEw0Lg
@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)とセットで使います。
打撃からの投げや、フィニッシャーなど、スクリプトのヴァリエーションで色々違うので、
お持ちのスクリプトファイルを覗いてみてみてください。
0252名前は開発中のものです。
垢版 |
2022/02/05(土) 02:38:26.88ID:8GsEw0Lg
やりすぎな位スクリプトを使っているのが The Bruiser Brigadeという MODで
レーダーなど実装しててDEMO版でもかなり遊べます。ルールを理解してないと
延々と風船を割るだけになりすので、メニューからコントロールを確認しましょう。

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

説明が下手でごめんなさい、ムゲンのキャラクターを弄ったことがあると想像しやすいかもしれませんね。
0255名前は開発中のものです。
垢版 |
2022/02/06(日) 19:09:19.03ID:AZl7PJSN
>>251
やっぱり@cmd throw じゃ相手の吹き飛びアニメは指定できないんですかね、二つめの数字をいろいろいじってもfall1かどこかのpainアニメの2種類にしかならないような…
ただやられボイスの有無で分けたいだけなのでこのままで行きます

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

お二方ともありがとうございました、勉強になりました!
0256名前は開発中のものです。
垢版 |
2022/02/06(日) 19:13:02.30ID:AZl7PJSN
それともう一つ質問すみません

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

てか上から読んでるんですがこの情報量はありがたいですね
始めたばっかの素人で今のところ大部分が漠然とした理解ですけど…
0261名前は開発中のものです。
垢版 |
2022/02/09(水) 02:52:11.64ID:FIV9SGUf
>>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"のとこは別キャラで実験してみてください。
0262名前は開発中のものです。
垢版 |
2022/02/09(水) 03:04:22.06ID:FIV9SGUf
なんか、なに言ってんだ?状態ですね。

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

この方のように発想を道具(スクリプトライブラリ)と結びつけられる能力を一欠片でも欲しいw
0273名前は開発中のものです。
垢版 |
2022/02/20(日) 02:17:16.16ID:4xgUpQdN
Kratus 氏の作成したスクリプト Zoom for Bosses を早速つかわせていただいて
動画にしてみました。
ついでに上のほうにあった ランダムな敵の出現スクリプトもテスト。
スクリプトは上手く動いてくれているのですが、WallやPlatformの設定がイマイチで
設定しても基本透明なので確認が難しいです。
if (openborvariant("count_enemies")<4) { 〜
この一行を足して、敵の数が 4以下になったら補充って感じで敵をスポーンさせます。
Level.txtのGroup {Min} {Max} と同じような感じになります。
0275泥酔迷走スーパーラリー
垢版 |
2022/02/24(木) 10:55:39.59ID:+Q1phfs/
キャラの中にキャラを埋め込んで
やられたり倒したりしたら
変身できたりしたら面白いのにね
生物から背景(ドラゴンズクラウンラスボス)とかね
0276名前は開発中のものです。
垢版 |
2022/02/24(木) 23:08:04.14ID:lG9kY8kz
>>274
offense
defense という要素がありますよ
それぞれに、normal攻撃からburn,freezeなどなど
なので普段のAttackコマンドなどでは攻撃力を変えずに
offense all 1.5 とヘッダーで設定すれば、全ての攻撃が1.5倍に
defense all 0.6と設定すれば被ダメージが40%減らせます。
>>275さん Weapon コマンドを上手く使って変身を実現してるModなら
ありましたね。
0278名前は開発中のものです。
垢版 |
2022/02/27(日) 01:07:56.28ID:ofDNDNVo
Offense は 特殊攻撃 Burn Shock Freezeなどの攻撃力を上げ下げするだけなんですけど、
Deffense はBurnは吸収する、 Freezeは弱点で喰らいダメージ1.5倍 などなど
様々な設定ができるようなんですが、わたしもまだ真っ当に弄った事ないので
All で全ての攻撃に耐性をつけるくらいしか。
MODではD&D系のもので設定してる事が多いかも?
うろ覚えなんですが、通常攻撃は全く効かず、炎の攻撃で秒サツみたいな敵キャラが
登場したような?
0280名前は開発中のものです。
垢版 |
2022/02/27(日) 20:33:11.90ID:ofDNDNVo
>>279
mod レスキューコマンド2やトラブルインサウスタウンなどで
使われてますね、仕組みとしては
掴み側の敵の攻撃が成功したら、レバガチャ用のentityを喰らったプレイヤーにbindしてます。
レバガチャentityはプレイヤーのレバーとボタン入力をスクリプトで検知して
自身のhealthを減らし、0になったら消滅するので脱出成功。
掴んだ側の敵は、delayなどで一定時間待ち時間を
0281名前は開発中のものです。
垢版 |
2022/02/27(日) 20:37:32.32ID:ofDNDNVo
経過したら、攻撃コマンドを実行させるというもの。
プレイヤーを掴むときはスクリプトのslamstart&#12316;positionコマンドで拘束します。
実際にmodをプレイしたほうがわかり易いかもw
0282名前は開発中のものです。
垢版 |
2022/02/27(日) 21:01:29.27ID: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まで行ったら脱出ですね。
0283名前は開発中のものです。
垢版 |
2022/02/27(日) 21:07:55.32ID: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
0284名前は開発中のものです。
垢版 |
2022/02/27(日) 21:51:12.10ID:ofDNDNVo
別のテストのときの動画なので、ちょっと混沌として分かりずらいですが
レバガチャの様子がが映ってたので参考になれば。

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

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

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

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

面白いのがDOT 多分ダメージオーバータイムの略で、指定したダメージを
一定時間と回数(5ダメージを1秒に1回3秒間など)、ヒットした相手に与える。
OTG オンザグラウンド?anim fall等で地面に倒れている相手にもattackがヒット、
ただし倒れている相手にBBoxを設定する必要があります。
結構沢山の要素が設定できるので、標準コマンドでもかなりの事が出来ますね。
0307名前は開発中のものです。
垢版 |
2022/03/24(木) 08:53:50.15ID:SUDjzvRe
DCマニュアルとうのは
>>2 の上段のサイトのことですね。
英語ですが、ディープL先生に訳してもらえば
かなりの情報が得られると思います。
0308名前は開発中のものです。
垢版 |
2022/03/24(木) 09:06:51.52ID:SUDjzvRe
最初はスクリプトなど意識せず、初代BoRのモデル設定Txtなどを読んだり、
プレイヤーキャラや敵等のHealthを100から200にするだけでも、かなりバランスが変わるのが分かると思います。
登場キャラや設定も少なめで基本はシッカリしてるので、構造が分かり易くエディットをミスしてバグっても、追いやすいというのもあります。
0309名前は開発中のものです。
垢版 |
2022/03/27(日) 01:42:21.92ID: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 くらいしか
私は知りませんので、なんとかそれでやりくりしてます。
0311名前は開発中のものです。
垢版 |
2022/03/30(水) 02:10:47.88ID:jn3q1exc
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の特製か、中心を軸に回転させるのが難しい
無い頭で苦心するより、ペイントソフトで回転する絵を作ったほうが早そうです。
0312名前は開発中のものです。
垢版 |
2022/04/07(木) 09:32:24.21ID:RWamgL6H
bindentityの機能にターゲットと同じAnimを実行するというものがありますが
速いdelayやAnimを連続切り替えしたりすると、他のentity(敵とか)に影響が出て描画が遅れたりすることがあるようです。
特に同じAnim内でdrawmethodも使っていると症状が出やすいようです。
レイヤーコマンド使って優先順位付けしたら違ってくるかも?などと考えています。
かなり軽いエンジンなので、あんまり無理させちゃいけないのかも知れません。
0313名前は開発中のものです。
垢版 |
2022/04/07(木) 11:11:43.62ID:V6ejTjoQ
>>311 の回転ですが
元絵を余白も含めて縦横比を同じくらいにして
offsetを画像の中心付近にすることで、
結構綺麗に回転します。
飛翔体などならそんなに違和感ないですね。
コツが分かってくると、スピンアタック系や
ジャンプ中の前転などそれなりに使えそう。
0314名前は開発中のものです。
垢版 |
2022/04/07(木) 21:23:18.45ID:RWamgL6H
drawmethod rotate #とfliprotate 1はよく使ってます。
前者は好きな角度に回転させるのと、後者は対象のentiryの向きに合わせて
自動で反転してくれるというもの。
shiftx #にも自動反転があればもっと便利になるのですが、
中々難しいものです。
0315名前は開発中のものです。
垢版 |
2022/04/08(金) 01:33:24.24ID:W27/nC7P
>>304 のChangeEntityPropertyでTypeやHostileを変更するを利用して
キャラ(Entity)がKnockdownCountで転ぶ(Fall)度に
敵になったり味方になったり変わる様にしたんですが、ChangeDrawmethodなどで
色も変えないと混乱の元なので却下。
動画では、一部の敵を倒すと一定時間NPCが出現するようにしましたが、このほうが分かり易いですね。
Stage2では敵を倒すとどんどん増援が来るようにしたはずが、レベル設定のGroup{Min}{Max}の
影響も受けるようで、そんなに敵だらけになるようなことはありませんでした。
Stage1のようにEnemyポータル方式のほうがメリハリがついて良いかもしれません。
テストとはいえ、コンセプトや世界観なしで適当に登録してある敵をただ順番に出現させているだけなので
ゲーム性は全く無いですね。ステージもTGS4からの流用です。オリジナルを作れる日はいつの事やらw
tu.be/k1-ss0M1Klc
0316名前は開発中のものです。
垢版 |
2022/04/09(土) 02:45:15.79ID:huMt1Pej
>>302 にてlocalvar と globalvar について軽く触れていますが、もう一つ
EntityVar もあり、setEntityvar({entity},{index},{var}) 的につかいます。
EX. SetEntityVar(Self, 1, 999)GetEntityVar(Self,1)な感じで、
好きな入れ物(変数)として使えます。
Localvarはシステムも使っていて、結構な頻度でリセットされるので、
キャラ(Entity)固有の変数収納場所(フラグ処理とか)として便利かと。
MOD SailorMoonでは Kastorというキャラが、これを利用して
2対でプレイヤーの情報を共有して、同時攻撃をするなどしています。
0317名前は開発中のものです。
垢版 |
2022/04/09(土) 02:58:53.09ID:huMt1Pej
>>316
なので、いわゆるピヨリ値などはGlobalVarよりEntityVarに収納したほうが
管理しやすいかも知れませんが、いまのマシンパワーならメモリ効率とか考えなくても
とくに支障はなさそうなので、使い易いほうで良さそうです。
0318名前は開発中のものです。
垢版 |
2022/04/11(月) 03:53:09.40ID:mFlGfZLx
プレイヤーが敵の情報を取得して、その敵を投げた際にdrawmerhod rotateを
使って回転しながら吹き飛ぶようにしようとスクリプト組んでたんですが
ぜーん全上手くゆかないので、プレイアブルキャラ作成に逃避
0319名前は開発中のものです。
垢版 |
2022/04/12(火) 01:32:29.29ID:vWluw1zD
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"); } } }
0320名前は開発中のものです。
垢版 |
2022/04/12(火) 01:51:05.23ID:vWluw1zD
思ってたんと違ったけど、まあなんとか必殺投げが出来たので
最後の5行に別なスクリプトを呼んでますが、演出用なので
基本上のスクリプトをLooperという別なスクリプトで呼び出して使ってます。
動画のプレイヤーキャラ(黄色いの)が連続キックを繰り出しますが
ああいう同じ動きをするとき便利なスクリプトで、殆どのユーザースクリプトに導入されていると思います。
@CMD Looper 3 5 という感じで7番目のFrame Data/〜に記述すると
3番目のFrame から6番目のFrame までを5回繰り返すというもの
標準コマンドのLoop だと延々と繰り返してしますので、Looper の便利さが分かるかと思います。

動画だと動画のフレームが跳んでしまって分かりにくいですが、
なんとなーく私のやりたいこと分かっていただけますでしょうか?
tu.be/CRGXjQowAG8
0321名前は開発中のものです。
垢版 |
2022/04/12(火) 02:29:22.96ID:vWluw1zD
上のスクリプトは汎用性はほぼ無し、条件設定として
Health が25%切った相手を投げた際に30%の確立で発動な感じです
(動画ではテスト用に発動条件ユルユルですが)。
なのでやっぱり
攻撃者のAttack5 などに、相手側がリアクションとして Pain5 や Fall5 を
設定しておいたほうが結果手間が掛からないかと思います。
0322名前は開発中のものです。
垢版 |
2022/04/13(水) 00:14:16.67ID:aDur5ZAn
ピヨリについて、面倒だと思うよーとか適当な事言っておいて
EntityVar に値を入れておけば楽だと思うよーとか超いい加減なことばっかレスしてるんで
一応作ってみました、結果そんなに苦労はないかも?
今回はプレイヤーがピヨリ値を蓄積し、一定に達すると4秒間ピヨリ
レバガチャで時間短縮と成功でリバーサル攻撃。
内容は単純でAnim Pain実行時ピヨリ値をプラス、Anim Idleで少しづつピヨリ値減少
一定数たまったら、Executeanimationで”Ani_Follow{#}”でピヨピヨ実行
このとき、レバガチャEntityをプレイヤーにBindEntityして
ガチャ成功するとリバーサル攻撃用のAnim_Follow{#}にExecuteanimationするというもの
レバガチャEntityにはLifespan 4が設定してあって、4秒で自動消滅
CPU戦でピヨるとかウザイだけかもという認識でしたが、作ってみたら意外と良かったw
tu.be/6iLBqsjC2eI
0323名前は開発中のものです。
垢版 |
2022/04/13(水) 01:10:35.54ID:aDur5ZAn
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を設定しておいて、
そちらで下がるようにしても良いかも。
0324名前は開発中のものです。
垢版 |
2022/04/13(水) 01:17:03.20ID:aDur5ZAn
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、リバーサル攻撃)
0325名前は開発中のものです。
垢版 |
2022/04/13(水) 01:25:34.49ID:aDur5ZAn
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氏でしょうか?)をアレンジしましたです。
0326名前は開発中のものです。
垢版 |
2022/04/13(水) 04:05:16.91ID:aDur5ZAn
元々、仕様とバグのギリギリいってる手法なので、
ピヨリ中にもう一回敵からのBindEntityを利用した攻撃を受けると
OpenBoRが落ちますw
やっぱり標準コマンドで何とかしたほうが良さそうですね。
レバガチャで回復早めるとかしなければ、EntityVarを使って
値を蓄積して、一定時間無防備になるというのは
バグの危険なく可能です。
中々難しいものですね。
0327名前は開発中のものです。
垢版 |
2022/04/17(日) 02:42:23.91ID:xLR26ELd
なんか煮詰まったので、プレイアブルキャラ作成に逃避。
ムゲンからキャラのインポート(聞こえが良いですね)。
ここで新たに、光弾問題に遭遇、どうもDBキャラはいろいろ撃ちますが、
単純に弾を撃つならCustKnifeなりで作ればよいし、誘導弾ならType NPCのSubType Chaseとかで
追尾させればよいのですが、なんとなく弾幕作りたいな〜とかやってドハマリ中。
通常攻撃とシンプルな特殊技はこんな感じかな?
tu.be/_xQBhCUit8c
0328名前は開発中のものです。
垢版 |
2022/04/17(日) 03:48:50.61ID:xLR26ELd
SpawnEF S{vName} {X} {Y} {Z} {S} {A} {R} {Ani}
ナニコレ?
私個人のスクリプトですが、上の動画でも多用されています。
XYZは単純に座標、SはScale(Zoom)AはAlpha(透明度)R(回転)Ani(Anim)
本来、複雑な手続きを簡略化するのもスクリプトのメリットの一つだと思いますが
色々出来るようにして、かえって煩雑になった悪例w
ちゃんと設計やらしない大雑把な性格そのままです。
怪我の功名とでもいいますか、一つAnimがあれば回転拡大縮小をつかって
さまざまなエフェクトに活用出来そう。
ただし、ソースを見ないと意味不明、ですが、自身のオリジナルではないので
アップは憚れるという、ムゲンと共通のジレンマ。
オリジナルの作者様には尊敬しかないです。
0329名前は開発中のものです。
垢版 |
2022/04/17(日) 16:44:32.78ID:xLR26ELd
openBoRには標準でsin cos atanなど揃っていたので、扇弾を弄ってたのですが
考えてみれば敵はそんなのお構いなしですし。
自分が敵にやられたらイラだつだろうしで、全方位弾にしました。
おおよその敵の方向に撃つ直進弾がたまに止まっちゃいますがご愛嬌w
一見おおっ!となっても実は使い道の無い技ということで。
特に敵以外との衝突判定はしてないので32×4射ってますが
さすがopenBoR処理落ちなどしないですね。
セブンティーン氏が洪水おこしてますが、技が思いつかないので適当です。
Krrnはサポートに飛び込んできて、入力に連動して攻撃を繰り出すように出来ないか考え中。
0330名前は開発中のものです。
垢版 |
2022/04/18(月) 12:39:49.39ID:+se/Swu+
何の事だと思ったら、動画の話しなんですね。
まだ、何も分かりませんが、日本語での解説ありがたいです。
0331名前は開発中のものです。
垢版 |
2022/04/19(火) 03:14:29.19ID:a3xIrRSp
>>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 も研究すると面白いかもしれませんね。
0332名前は開発中のものです。
垢版 |
2022/04/19(火) 03:24:07.55ID:a3xIrRSp
>>別キャラ({Weapon})
({WeaponFrame} や{WeapLoss} などを設定して切り替わるようにする)。です。
このあたりの設定の細かさは流石です。
0333名前は開発中のものです。
垢版 |
2022/04/20(水) 21:43:31.43ID:PW9VJXxm
weaponの技の上書きというより、マージと言ったほうがわかり易いかも?
Anim Freespecial1のみプレイヤーキャラにあって、weaponにAnim Freespecial2があった場合、武器を拾ったプレイヤーは両方使えるようになります。
Modelflag{0,1,2}を設定してないと、混ざったままになってしまうことがあるということですね。
0334名前は開発中のものです。
垢版 |
2022/04/22(金) 01:04:20.67ID:g9+olsrt
算数も割り算の時点で微妙な私は、もちろんプログラムなんて全く分からなかったけれど
kt住江さんの作品に出会ってOpenBoRを知って、なんとか拡散砲を撃てるようになりました。
リソースは全部ひと様のものなので本来動画すら微妙なんですが、
スクリプトの中身見たら四則演算って知ってる?って感じですが
そんな私でも、For文とDrawmethodを組み合わせると、
こんな感じも演出出来てしまう。そしてすっごく軽いOpenBoR凄いという話です。

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

tu.be/iCGEtG9JQ8w
0336名前は開発中のものです。
垢版 |
2022/04/25(月) 19:15:40.23ID:vu/W7WGq
だんだん脳内で設定してスクリプトを切り張りしても、収拾つかなくなってきたので
ルールのまとめをしてゆこうかと思います。
拡散するショットはMPの消費を激しくして、さらに3回を限度に。
KRRNの呼び出しはHP20%以下、1回きり。しかし、KRRNの攻撃力は高い。
KRRNを呼び出すとMAXMPは3分の1程度に(大技不能)、ただしMP回復力大幅アップ。
HP20%以下からプレイヤーキャラがHPを50%以上回復すると、
上のペナルティ(メリット)はリセットされる。
ピヨピヨから回復するための操作でMPをマイナスされる、
ただし回復に成功すればMPは回復する。
回復操作でMPが減り、時間切れではマイナスのままです。
敵の捕縛攻撃時に回復操作した場合、MPとHPはマイナスされる。
成功してもMPはマイナスのまま。
しかし、敵に大きなダメージを与えられる(今回の動画では映っていません)。

あとは追撃作成すればだいたい良いかな?

tu.be/KkTDOyFT9hw
0337名前は開発中のものです。
垢版 |
2022/04/26(火) 01:26:17.09ID:tRI20Ut9
>>336
とやったら弱くなりすぎた。
ピンチ状態(HP20%以下)ではMP回復2倍は良い感じに思える。
その辺を分かり易くするエフェクトが必要かも?
ピンチからHP50%まで回復すると、MP回復2倍のまま
MaxMP100のハイパー状態に、でも拡散攻撃を実行すると
MaxMP70MP回復25%ダウン(標準は "mpset" 100 0 0 8)
なぜ、こんな事が気軽にできるかというと
@cmd changeentityproperty getlocalvar("self") "mpset" 70 0 0 6
で即座に変更できるからです。

拡散攻撃に混ぜた挙動がおかしい弾は、
Range 0 100で追尾(SubType Chace)のType NPC のお手軽誘導弾。

これまでLocalVarで管理してたフラグを EntityVarで管理できるように。
Set(Get)EntityVar({Entity}{Index}{Var})というように使うのですが
{Entity}毎の管理なのでとても便利です。このへんは以前からOpenBoRに存在してました
私が知らなかっただけですw

追撃については動画のボス・アダーさんに抱きつくような仕草をして
直後に「渦」のようなエフェクトが発生しますが、あれが原型で
スクリプト的には、攻撃で吹き飛んだキャラがプレイヤーの攻撃範囲で
HPが残っていた場合、プレイヤーまで引き寄せ再度攻撃するというもの
「鞭」を装備したキャラを想定した攻撃なので素手では変な見た目になりますね。
0338名前は開発中のものです。
垢版 |
2022/04/26(火) 01:47:14.17ID:tRI20Ut9
>>337
最後の追撃ですが、
FindTarget や Opponent、 Grabbing(Grabbed)で選んだ対象が
ANI_Fall で A=Base のType Enemyだった場合、
そしてプレイヤーの攻撃範囲であったら
スクリプト SlamStart して地面を蹴りつける動作でダメージを与えるというものを
作ったのですが、ちょっと見た目的に結構エグかったので削除。
まあそれまでにナグるわケるは好き放題にしてたくせに、何故か引いてしまいました。

別キャラの相手の背後にテレポートしてキりつけるは別にOKなんですが、
人それぞれ結構苦手なシーンがあるかもしれませんね。
0339名前は開発中のものです。
垢版 |
2022/04/26(火) 03:20:57.85ID:tRI20Ut9
>>313
Drawmethod Rotate を使った回転について
マニュアルには −45 とすればマイナス方向の45度に回転させられるとあり
実際出来るのですが、画像の欠けが発生し易いようなので
素直に 315と設定したほうが良さそう。

Type Enemy の設定
Anim JumpAttack は
これとRange 設定(0〜100など)だけで自動で前方ジャンプ攻撃を行います。
Anim JumpAttack2 は
同じく Range 設定で 垂直ジャンプ攻撃になります。

Type Enemyも結構いろいろ設定できるので、凝りだすとキリが無さそうです。
0340名前は開発中のものです。
垢版 |
2022/04/26(火) 07:34:52.71ID:tRI20Ut9
こちらがコンボを繰り出していると、たまに敵が無敵技で逃げたり
反撃してきたりしますが、
EscapeHits {#} ここで設定した数値+1連続で攻撃を受けると
Anim Special2 が実行されます。
Falldie # やDeath # を1にしておくと、Health 0 で必ず
Anim Death が実行されるので、フラグや演出にも使えそう。
Walk Idle Pain Fall Riseなどの各Anim はほぼ必須な Animなので
通常の利用だけでなく、必ず実行される特性を利用した演出や
フラグの処理などに。ヘッダーで NoMoveを設定しておくと移動しなくなるので
こちらも便利に使えそう。
0341名前は開発中のものです。
垢版 |
2022/04/28(木) 01:47:31.28ID:k34JWO6S
anim rise
@script
if(frame==2) {
void self = getlocalvar("self");
int MHP = getentityproperty(self, "maxhealth");
if(getentityvar(self,"PNC")==NULL()&&getentityproperty(self, "health")<(MHP/5)) {
setentityvar(self,"PNC","On");
setentityvar(self,"PCT",openborvariant("elapsed_time")+1500);
spawnAni("FightEF4", 0, 0, 0, "ANI_Follow48");
spawnbind("piyo4", 0, 100, 1); }

int incDM = getentityvar(self,9);
if(incDM!=NULL()) {
if(incDM>20 && getentityproperty(self, "health")<MHP/4) { executeanimation(self,openborconstant("ANI_Follow8")); }
if(incDM>20) { executeanimation(self,openborconstant("ANI_Follow9")); }
setentityvar(self,9,incDM-=2);
}
}

@end_script

これで、攻撃を受けて倒れた時、Healthが20%以下ならピンチモードになり。
蓄積ダメージがあったらピヨリに。
この辺は、Anim Painなどにも記述しておきます。
0342名前は開発中のものです。
垢版 |
2022/04/28(木) 01:51:47.77ID:k34JWO6S
Anim Idle
@script
if(frame==4){
void self = getlocalvar("self");
if( getentityvar(self,"PNC")=="On" ) {
int MP = getentityproperty(self, "mp");
int MHP = getentityproperty(self, "maxhealth");
if(getentityproperty(self, "health")>MHP/2||openborvariant("elapsed_time")>getentityvar(self,"PCT")) {
changeentityproperty(self, "mpset", 100);
changeentityproperty(self, "mp", MP);
spawnAni("ALLSP", 0, 0, 0, "ANI_Idle");
changeentityproperty(self, "health",MHP*0.75);
setentityvar(self, "PCT", NULL());
setentityvar(self, "PNC", NULL());
setentityvar(self, "SSP", NULL());
setentityvar(self, "KSP", NULL());
}
}
}
アイドル状態になるたび、回復のチェックをして
ピンチになってから自力でHP50%以上か、または一定時間経過で自動回復。
EnergyCost {#} {#}これでMPのみで必殺技始動にしておかないと
Specialガンガン使ってHealth減らせば、一定時間後に自動回復しまくりで
超イージーにw キャラの調整って難しい。
0343名前は開発中のものです。
垢版 |
2022/04/28(木) 02:03:08.09ID:k34JWO6S
Type Enemy や NPCは
Range を設定する事で、一定距離内に入ったら攻撃を始めますが
彼我の距離が変わらないとずっと同じことを実行します。
int Crnd=rand()%20;
if(Crnd>10) {
changeentityproperty(getlocalvar("self"),"animation",openborconstant("ATK_Normal2"));
} else if (Crnd>0) {
changeentityproperty(getlocalvar("self"),"animation",openborconstant("ATK_FreeSpecial"));
}
こんな感じにランダム要素を入れてみたり。
Anim Idleも2〜3フレームしか実行されないことが多いので、Anim Attack#に
Idleの内容と同じアニメを用意して、たまにはボーっとさせるのも一興。
EnemyやNPCに Anim Get を用意してると、回復アイテムを拾います。
気をつけましょうw
まあそれを利用して回復アイテムを放置、
拾いに行く無防備Enemyをコテンパンにするのもあり。
0344名前は開発中のものです。
垢版 |
2022/04/28(木) 02:14:43.42ID:k34JWO6S
changeentityproperty(getlocalvar("self"),"animation",openborconstant("ATK_Normal2"));
上の"ATK_Nomal2"は"ANI_Attack2"とかで良いかもしれないけれど、
フリースペシャルは"ANI_FreeSpecial"でないとエラー
即興で適当に書いてしまいました。
ANI_ とATK_ てよく間違えるんです。

setentityvar(self,"PCT",openborvariant("elapsed_time")+1500);
これは結構便利で、Anim Fallなどのタイミングで設定して
openborvariant("elapsed_time")>getentityvar(self,"PCT")
こんな感じで現在時刻(OpenBoR内の)が「設定した時間を超えたら
何かする」というような使い方ができます。
0345名前は開発中のものです。
垢版 |
2022/04/28(木) 02:24:25.39ID:k34JWO6S
setentityvar(self, "PCT", NULL());
setentityvar(self, "PNC", NULL());
setentityvar(self, "SSP", NULL());
setentityvar(self, "KSP", NULL());

このへん、いちいち NULL()にしてますが、
if 条件で GetEntityVar(self, "KSP")!=NULL() というように
"KSPの"中身が空(NULL)ではなかったら「値をプラスする」や
==NULLだったら条件の始動にするなど、フラグとして便利
ただデフォは少ないのでScript.txt (注 Scriptsではない)の設定で増やそう。
あまり増やすとメモリ消費が激しいので、4096とかしないようにw
0346名前は開発中のものです。
垢版 |
2022/04/28(木) 03:53:19.54ID:k34JWO6S
ステージの設定で
Spawn {Entity}
Health 200
Aggression 30
Item Food
Coords 300 180 0
At 300
こんな感じに記述して、ステージ上に様々なキャラ{Entity}を登場させます。
もともとのキャラ{Entity}でHealth を50などと設定してあっても
上の例だと Health 200で出現します。
Spawn {Entity}の部分は特にキャラである必要はなく{Entity}でさえあれば
(Models.txtで設定)OKなので、特定の場所の演出用{Entity}でも良いわけです。
Item Food の所、そのキャラを倒すとドロップするのですが
演出用{Entity}でも、敵キャラでもOKなので色々ドロップさせると面白いですね。
ただ、1ステージで使える Spawn {Entity}は上限600個程度のようなので
ほどほどで、次のステージに移行しましょう(ステージが切り替わると各種リセットされる)。
上の方のレスでもあった@Script も使えば、かなり様々なことができそうです。
0347名前は開発中のものです。
垢版 |
2022/04/30(土) 01:52:33.20ID:rxj78wqY
anim spawn
@script
{
if(frame==2) {
void self = getlocalvar("self");
void sprite = getentityproperty(self, "sprite",getentityproperty(self,"animpos"));
int max_scale = 256;
if ( getentityvar(self,"size") == NULL() ) { setentityvar(self,"size", 16); }
int size = getentityvar(self,"size");
if( size <= max_scale ) {
changedrawmethod(self, "flag", 1);
changedrawmethod(self, "tintmode",5);
changedrawmethod(self, "tintcolor", 0x40ff40);
changedrawmethod(self, "scalex", size);
changedrawmethod(self, "scaley", size);
size += 16;
setentityvar(self,"size", size);
}
}
if(frame==3) {
void self = getlocalvar("self");
changedrawmethod(self, "reset", 1);
setentityvar(self,"size", NULL());
}
}
@end_script
0348名前は開発中のものです。
垢版 |
2022/04/30(土) 01:53:21.89ID:rxj78wqY
delay 40
drawmethod scale 0.3
offset 66 154
frame data/chars/plant/puke2.gif
delay 16
frame data/chars/plant/puke2.gif
@cmd looper 1 16
frame data/chars/misc/empty.gif

結局こーんな感じで愚直に拡大処理して敵を出現させたりしてるのです。
各{Entity}のデータを取得してスクリプトでスポポーンと処理したいものですが、
ひとつひとつ手動でやったほうがエラーも無く早いという。
エイティーンさんは、一回だけ自動回復付けて、なんか、もう、こんな感じで良いかなとラインに来たので
また別キャラに逃避します。

tu.be/C-_sJr-DUXM
0349名前は開発中のものです。
垢版 |
2022/04/30(土) 02:15:26.77ID:rxj78wqY
void sprite = getentityproperty(self, "sprite",getentityproperty(self,"animpos"));

ここは機能していないので削除です。こうして手探りで各コマンドの効能を調べてます。

切実にに情報が欲しいのが
int Swidth = getgfxproperty(sprite, "srcwidth");
int Sheight = getgfxproperty(sprite, "srcheight");
この辺の使い方で、GetGfxProperty でSprite情報を取得して
Swidth、Sheightでスプライト画像の幅やYの長さが取得できればいいなと
勝手に想像してるんですが、結果OffSetは0,0になってしまうので
まったく成功の兆しがありません。

例えば、Animの特定フレーム((AnimPos)のSprite(画像)の情報を取得して
その画像のキャンバス情報(横100*縦200ドットとか)を取得できる手段がありましたら
ご教授ください。宜しくお願いいたします。
0350名前は開発中のものです。
垢版 |
2022/04/30(土) 02:33:43.50ID:rxj78wqY
anim idle
@script
if(frame==2) {
void self = getlocalvar("self");
int MHP = getentityproperty(self, "maxhealth");
if(getentityvar(self,"PNC")==NULL()&&getentityproperty(self, "health")<(MHP/5)) {
setentityvar(self,"PNC","On");
setentityvar(self,"PCT",openborvariant("elapsed_time")+1500);
spawnAni("FightEF2", 0, 0, -1, "ANI_Follow12"); }
}
if(frame==3) {
void self = getlocalvar("self");
int incDM = getentityvar(self,9);
if(incDM!=NULL()) { setentityvar(self,9,incDM-=2); }
if (incDM<=0) { setentityvar(self,9,NULL()); }
if( getentityvar(self,"PNC")=="On" && getentityvar(self,"REV")!="On" ) {
int MP = getentityproperty(self, "mp");
int MHP = getentityproperty(self, "maxhealth");
if(getentityproperty(self, "health")>MHP/2||openborvariant("elapsed_time")>getentityvar(self,"PCT")) {
changeentityproperty(self, "mpset", 100);
changeentityproperty(self, "mp", MP);
spawnAni("ALLSP", 0, 0, 0, "ANI_Idle");
spawnAni("FightEF2", 0, 0, 0, "ANI_Follow29");
changeentityproperty(self, "health",MHP*0.75);
setentityvar(self,"REV","On");
setentityvar(self, "PCT", NULL());
setentityvar(self, "PNC", NULL());
setentityvar(self, "SSP", NULL());
setentityvar(self, "KSP", NULL()); } } }
@end_script
0351名前は開発中のものです。
垢版 |
2022/04/30(土) 02:47:59.07ID:rxj78wqY
>>301 さんのレスから
そんなに難しい事なんかないよ!と言いたくて、
すこしスクリプトを書いてみましたが、ポンコツな私の能力では
結局こんなんなっちゃって、もうなんと申したら良いかって感じです。
やりたいことは
HPが一定数減ったか?
HPが減った状態から回復したか?
強力な必殺技を一定数使ったか?
だけなんで、内容はシンプル。ただ、関連するAnimが他に
Anim Faint、Anim Fall、Anim Pain、Anim Rise
少なくとも4つあるので、記述そのものはコピペでOKとはいえ面倒だなーと思いました。
手前味噌ですが、やってみたら意外とアクセントになって良かったかも?
という感想です。
0352名前は開発中のものです。
垢版 |
2022/05/07(土) 01:55:26.36ID:NmRbFI7S
スクリプトで Looper を紹介しましたが
標準コマンドの Loop も十分に活用できるものです。
基本は Loop 1という感じで 1と0でOn/Offの関係です。
Loop 1 5 とすると10FrameあるAnimの場合、一回10Frame目までAnimを
実行した後、次は5Frame目から繰り返しでAnimを実行します。
例えば、Anim Runで0〜4Frameまでは走り始めのアニメ、5〜10Frameは
走っているアニメとすれば、最初の一回だけ0〜4Frame、以降5〜10Frameの
繰り返しでスムーズに走っている状態のアニメを再生できるわけですね。
Anim WalkやAnim Idleといったお馴染みの動作を想像していただければ分かり易いかと。
Walk Idle Run などはいつでも別な行動でキャンセルまたはリセットできるので
問題ないのですが、Anim FreeSpecialなどキャンセルできない行動にLoop 1と
してしまうと 延々と同じ動作(Anim)を続けてしまいます。
そんなときは、ChangeEntityProperty({Self}、"Animation"、"")や
ExecuteAnimationなどを@Cmdを使って実行し、強制的に別Animに移行したり
Cancel を使って別なFreeSpecialに移行したりします。
0353名前は開発中のものです。
垢版 |
2022/05/07(土) 02:01:51.67ID:NmRbFI7S
上の閉じたLoopでも
BBoxで喰らい判定や、Attackコマンドと付随するFollowコマンドがあれば
別なAnimに移行できます。
なので、あえて閉じたLoopを使って、チャージの真似事をさせたり
CancelでA2ボタンを押すたび別なFreeSpecialに跳んで、A2を押した数だけ
べつな技を出す。なんてことが可能になります。
もちろん別な方の受け売りですが、Loopひとつで技のヴァリエーションが
増えるのはなかなか便利です。
0354名前は開発中のものです。
垢版 |
2022/05/10(火) 06:46:43.73ID:ANAGzemE
Jenniferで思ったけれど
ゴオン・リーラ・ディ・ディオとか
グリズリーコークスクリューマグナム
みたいな巨大すぎる手だけの背景技が作りたいのと
バットルサーキットみたいにショップに入れたりしたら面白いのにね
0355名前は開発中のものです。
垢版 |
2022/05/11(水) 03:15:52.16ID:5CHTfmx4
背景技に関してはどこまで凝るかによりますが
name {waza}
type text
subtype noskip

こんな感じでEnityを作ると、このEnityがSpawnFrame などで呼び出されている間、
ゲームが一時停止されるのを利用するのが単純でよいかも?

スクリプトで存在している全てのEntityに対してFreezeやStun状態にして
プレイヤーのAnimをDrawmethod Scale {倍率}で巨大化させるという手もありますし。
PlayAnim(うろ覚え)でGIFアニメを再生するコマンドもあったはず。
画面一杯に演出を表示してボム的な技を繰り出す事に関してはかなり自由にできると思います。

お買い物に関しては、
DungeonsDragons Rise ofWarduke2015(Rise ofWardukeは少なくとも2種類ある)
MIX Mastersあたりが、とても参考になります。

うろ覚えですがTekkenのDemoが装備品としてプレイヤーのステータスをアップする
スクリプトを組んでいたような?
0356名前は開発中のものです。
垢版 |
2022/05/12(木) 03:20:11.72ID:4lLWq45r
PlayAnim(うろ覚え) => X
Animation data/scenes/scene.gif 0 0 こちらが正しい表記 最後の 0 0 はXY座標
このコマンドでGIFアニメを再生できます。主にDEMOシーンなどに使います。
インゲーム中は普通に{Entity}を作ったほうが早そうです。
0357名前は開発中のものです。
垢版 |
2022/05/14(土) 02:02:26.01ID:3oAON5YM
動画でOVERLOADをあげましたが、
何でかというとハンドガンの弾薬数を数字で表示したかったからです。
件のMODはハンドガンがプレイヤーに標準装備というなんとも掟破りな感じで私は大好きですw

@script
if(frame==0) { void self = getlocalvar("self"), gun = getlocalvar("G"+self);
if(gun==NULL()) { gun = 0; setlocalvar("G"+self,0); }
int Blt=(8-gun);
settextobj( 9, 30, 200, 4, 0, Blt, openborvariant("elapsed_time")+600);
}
@end_script
これをAnim Idleなど必ず1回は実行されるAnim に記述しておくと
画面左下に 数字がチョコンと表示されます。

このスクリプトの肝は settextobj のところで、どうもこれは標準コマンドっぽいのです。
{Index} {X} {Y} {Font} {Layer?} {表示したい内容} {表示する時間}
DCManualに載ってなかったので手探りですが、意外と便利(Update,Updated を使わなくてすむ)
似たものに drawstring(int x, int y, int font#, text, layer) というのものがあるのですが
ちょっと使いにくいので settextobj を専ら使っています。
0358名前は開発中のものです。
垢版 |
2022/05/14(土) 02:07:27.46ID:3oAON5YM
動画のMODでは基本無限に撃ててしまうので、8発ごとにリロードを挟むようにしました。

anim freespecial
@script
void self = getlocalvar("self");
void gun = getlocalvar("G"+self);
if(frame==0) { if (gun==NULL()) { setlocalvar("G"+self,1); } else {
if(gun>=8) { performattack(self,openborconstant("ANI_FOLLOW5",1)); }
else { gun = gun+1;
setlocalvar("G"+self, gun); } }
}
@end_script

Ani_Follow5に跳んでる部分がリロードアニメです。
このスクリプトでは LocalVar GlobalVar を使ってますが
少し上のレスの EntityVarを使えばもっと単純にできますね。
0359名前は開発中のものです。
垢版 |
2022/05/14(土) 02:32:09.60ID:3oAON5YM
以前にも紹介しましたが

@cmd clearspawnentry();setspawnentry "name" "test"
@cmd bindentity spawn() getlocalvar("self") 60 1 40 1 0 1

こんな感じでたった2行でBindEntityが使えるので、
キャラクターと一緒に移動するエフェクトを表示したい場合などに便利です。
0360名前は開発中のものです。
垢版 |
2022/05/14(土) 02:37:55.00ID:3oAON5YM
SpawnFrameと同様の動作をする

spawn(); ですがこの場合は座標の補正や向きなども指定しないとならないので
@ScriptやScriptsで定義したほうが使い勝手が良くなります。
0361名前は開発中のものです。
垢版 |
2022/05/14(土) 03:25:29.49ID:oWC+YZhm
テラワロス
syodai.g3.xrea.com/ura/patch.htm
どうせならいつでもメニューを開けるようにできればPCゲームに負けないインパクトを出せそう
0362名前は開発中のものです。
垢版 |
2022/05/14(土) 14:26:04.17ID:3oAON5YM
ポーズメニューで難易度や同士討ちの設定など出来るようになってるのが
ベア・ナックルX{#}で大元はChronoCrashでお馴染みクラタス氏だったような?
tekken何とかdemoやknights and dragonsの何作目だったかポーズメニューで
装備品を切り替えてプレイヤーの攻撃や防御を変化させてたような?
メニュー作りの基礎はRocketViper2やTMNTの何作目だったかBonus氏のMODが参考になるかと
0363名前は開発中のものです。
垢版 |
2022/05/14(土) 23:56:15.60ID:3oAON5YM
RVGM set OprnBOR PACK

Open BoR Game Club
この辺で検索するとメージャーなMODがリンクと共に紹介されています。
それぞれモッダーさんによって標準コマンドのみであったり
そこまでスクリプト使わなくてもって感じに作成されています。
興味を持ったMODをアンパックしてDATAの中身を覗いてみれば
自分が作りたいMODの良いヒントが見つかるんじゃないでしょうか。
0364名前は開発中のものです。
垢版 |
2022/05/15(日) 11:25:46.85ID:pXw15ZHa
もうすぐこの文章も消えますので保管します
古いリスト一覧表
(閲覧できるだけ)
m.vk . com /pages?oid=-156200484&p=Y
(空欄3個)

ia904502.us.archive . org /view_archive.php?archive=/1/items/OpenBOR-Launchbox-Pack/Game%20Paks.7z
(空欄3個)

mugenarchive . com /forums/archive/index.php/f-5-p-15.html
(空欄3個)
3706 Ladies of Rage 不足分?
0365名前は開発中のものです。
垢版 |
2022/05/15(日) 11:44:51.33ID:pXw15ZHa
もうすぐこの文章も消えますので保管します2
www.afeidj . com /tag/openbor/
(空欄3個)
パス afeidanji
0366名前は開発中のものです。
垢版 |
2022/05/18(水) 01:21:30.91ID:2bJvsfcm
ツールなども開発しているクラタス氏
スクリプトを覗かせていただくと、最近のものはDeffine などを駆使して
省略形を使ったりしてちょっと癖が強いので、
すこし前のSoR2XMegaMixあたりだと読みやすくとても勉強になります。
getentityproperty(self,"animhits") こういった Propertyの使い方なども
とても参考になります。
0367名前は開発中のものです。
垢版 |
2022/05/18(水) 01:29:14.80ID:2bJvsfcm
performattack(self, openborconstant("ANI_FOLLOW8"), 0);
changeentityproperty(self, "aiflag", "jumping", 1);
changeentityproperty(self, "takeaction", "common_jump");
こういった処理を見つけて、こうすればANI_Follow8はジャンプ扱いになるのかな?
と予想して自身の処理に組み込んでみたり。

changeentityproperty(self, "takeaction", "common_grabattack");
これだとAnim Grabattack 扱いになるのかな?などと色々実験してゆくうちに
夜が明ける感じです。
0368名前は開発中のものです。
垢版 |
2022/05/22(日) 22:22:15.61ID:VlDnYkVW
保管させてください
mk2k.net/releases/psp/games/
ameblo.jp/shoanddiggy/entry-12224585029.html
3943668BiiEff
www.juwanshe . com /roms/bor/91-2-0-0-1.html
同人射撃遊戯東方射手5
mega.nz/file/LcQmQIjY#UOxB_BnsaJdT9uAIU9hI6VUBl5qcfXP_rsaPSr69NR0
0370名前は開発中のものです。
垢版 |
2022/06/01(水) 02:50:36.94ID:JmmaEfzE
くにおくんLAが流行のExtraMenuも導入されて、Ver3.1.6になってますね。
海外の くにおくん人気は凄まじいものがありますが、やはり元が良いからでしょうか。
0371名前は開発中のものです。
垢版 |
2022/06/02(木) 00:15:15.40ID:Jne9s08k
ハイスクルーのやんちゃな男女が大暴れっていう、
くにおくんの系譜は現役で作られているようですね。
0372名前は開発中のものです。
垢版 |
2022/06/02(木) 00:42:54.95ID:Jne9s08k
>>358
射撃武器を使った場合、弾薬の演出で簡単に済ますなら
Anim Attack{#}のコンボ途中にリロードアニメを混ぜればよいかもですね。
例えば、
Anim Attack5に射撃アニメ Anim Attack6にリロードアニメ
ヘッダーの設定で AtChain 5 5 5 6 0 のようにすれば4発撃ったらリロードになります。
Range を設定すれば、AtChain 1 1 2 3 0 5 5 5 6 0 これで
近距離(1 1 2 3)殴り、遠距離射撃(5 5 5 6)にできるかも?
ふと思いついたのでまだ試してませんがw
0373名前は開発中のものです。
垢版 |
2022/06/03(金) 02:24:03.03ID:9BJR8uXf
何度目になったか、もう数えてませんが
くにおくんLA 最後まで遊ばせていただきました。
kt住江 氏の間の取り方、適度な演出、攻撃とHPのバランスの妙
最高ですね。Ver3.1.6などのEdit作品も原作リスペクトのアレンジでよいのですが
アンバーちゃん氏の巣穴ページからDLできる初期オリジナルが至高ですね(個人の見解)。
0376名前は開発中のものです。
垢版 |
2022/06/03(金) 22:49:14.68ID:9BJR8uXf
Pass はDLページの一番上に書いてありますよ?
Edit作品は ChronoCrash にあります(要Login)。
0377名前は開発中のものです。
垢版 |
2022/06/04(土) 00:43:37.98ID:dPRWKu7b
#define OBC openborconstant
#define GEP getentityproperty
#define CEP changeentityproperty
#define SLV setlocalvar
#define GLV getlocalvar
#define GEV getentityvar
#define SEV setentityvar
#define CLP changelevelproperty
#define OBV openborvariant
#define COBV changeopenborvariant
#define GPP getplayerproperty
#define CPP changeplayerproperty
#define SGV setglobalvar
#define GGV getglobalvar
#define self GLV("self")

こんな感じにスクリプトで宣言しておく事で
0378名前は開発中のものです。
垢版 |
2022/06/04(土) 00:50:34.82ID:dPRWKu7b
void rotation()
{
changedrawmethod(self,"enabled",1);
changedrawmethod(self, "rotate", GGV("rotation"));
if(GEP(self,"type") == OBC("TYPE_NONE") )
{
if(playerkeys(0, 3, "moveup"))
{
float xpos = openborvariant("xpos");
float x = GEP(self,"x");
CEP(self, "velocity", (cos(GGV("rotation")) * 95)*0.01 , (sin(GGV("rotation")) * 95)*0.01, NULL() ); //Move!
if( x > xpos+310 ){ CEP(self, "position", xpos+310, NULL(), NULL());}
if( x < xpos+10 ){ CEP(self, "position", xpos+10, NULL(), NULL()); }
} else { CEP(self, "velocity",0,0,0); }
} }
こんな風に略することができるんですが、
浅慮な私には逆にデバグ面倒になってない?と思ったり。思わなかったり。
#define GLV getlocalvar
#define self GLV("self")
この辺は便利そう。

〜/Data/Scripts/〜.c とか〜.h の中で使います。
0380kt住江 ◆/VMXjFOJew
垢版 |
2022/06/08(水) 04:53:27.40ID:wI0LZaee
皆様、お久しぶりです。
2022年も相変わらず能天気なkt住江です。
ダブルドラゴン番外編やくにおくんLAを遊んでくれた方、本当にありがとうございます。
最近、ようやく新たなOpenBORゲームの開発をスタートしましたので、ほんの少し告知します。

くにおくんの新たなる戦いが、中国は龍海で繰り広げられる!
その名も『熱血硬派くにおくん 中国龍海編』
3〜4か月後の完成を目指しています。僭越ながら宜しくお願いします。
0381名前は開発中のものです。
垢版 |
2022/06/09(木) 14:03:20.99ID:YHYJKkPV
うわお、新作超楽しみです。kt住江様のゲームの特徴として、アクション自体の爽快感もありますが、
もうひとつストーリーも毎回楽しみにしています。
DDは主人公達もある意味アウトローとして敵組織の殲滅に注力出来ますが。
くにおくん達はまだ学生、時には同級生も巻き込まれるかもしれないという、主人公の立場から、どんなストーリーが紡がれてゆくのか、とても楽しみです。
特に複雑なストーリーが無くても、挑戦してくる奴は誰でも相手になるぜ!って感じでも、
今から妄想が止まらないです。
0383名前は開発中のものです。
垢版 |
2022/06/22(水) 17:37:09.48ID:Q1gUnxNW
防御したときに自キャラが一瞬白く光る演出
古いゲームに良くありますが

光らせたいフレームの前に
drawmethod tintmode 1
drawmethod tintcolor 255_255_255
こうすることで真っ白になります
tintmode の 1はdrawmethod alphaと同じく
1〜6まで効能も一緒
tintcolor の数値は 0〜255まで、3つあるのは各々R.G.B.になります
効果を消す時は drawmethod tintmode 0
tintcolor 255_16_16 こんな風にすると真っ赤にまるのでダメージの時に便利

opebor wip tmaster で検索すれば、利用した動画が出てくるかと思います。
0385名前は開発中のものです。
垢版 |
2022/07/06(水) 01:00:17.28ID:xUxwYeqH
おお、こういう背景絵は、32x32ドットみたいな決まったサイズのパーツを組み合わせて
タイルを敷き詰めるように描いて、最終的に一枚の画像として仕上げるのですかね?

写真をペイントソフトで加工して背景にしたりしてますが、なんか浮いてしまって
結局他のMODから流用させていただくばかりです。
0386名前は開発中のものです。
垢版 |
2022/07/17(日) 00:24:42.53ID:WAmJWTWK
新作情報は kt住江様を楽しみにするとして。

Street of Rage Z2(格闘回帰Z2) は結構おすすめです。
古いMODなのでOpenBoR V3(Rev.3789)あたりなら何とか動作するかと思います。
敵や背景などはお馴染みSoRのものですが、某S社からRalfとYuriも参戦してますw
特にRalfはそのままパワーファイターなので爽快感抜群にたのしめます。
敵を掴んでJumpボタンを押すと原作SoRのように敵の背後に廻ったりできます。
敵を一定数倒すとレベルが上がってキャラが強く成って行きますが
Ralfは低レベルから持ち前のパワーで暴れまわれるようになっています。

この系統のMODは結構亜種派生があるのですが、スクリプトの都合か
結構OpenBoRのRevを選びます。クライアントが1.8メガ辺りなら動くものが多いかと
Openborconsrant で使う引数関係や標準コマンドでも廃止されたものが使われてると
最初のロードで落ちるので、Logから修正してゆけば良いんですけど中々時間がとれず
さらに直したところで結局UPできる訳ではないので、もどかしいですね。
0387名前は開発中のものです。
垢版 |
2022/07/18(月) 02:47:26.48ID:tWbUHA9o
Briga de Rua(StreetFight)V1〜V3まで確認できています。

V1のステージ4の演出、ステージ序盤は霧に包まれていて
ボス戦になると霧が晴れるという演出スクリプトが面白いのと
ステージ中は列車の屋根という設定なので常に風が吹きキャラが流されます
これもステージ上のEntity全てにVelocityで移動させる処理を行っているのですが
画面上の全ての敵を凍らせるとか、吹き飛ばすなどプレイヤー他
必殺技に応用できそうですね。
V1〜V2は基本RocketViperの流用ばかりなのでステージの演出いがい特別なものは無いようです。
V3はKillerInstictというゲームやお馴染みMKからキャラに出張願っているようです。
バランスはいわゆる洋ゲー(緩め)なので、当たり判定や必殺技の調整にチャレンジして
自分好みに仕上げてみるとバランスの勉強になるかも?
kt住江 氏のゲームを遊んでみると、適度なストレスと開放の繰り返しに気付くかと思います。
これには経験を積み重ねるしかないと個人的に考えています。
その時、すでにバランスが取れているものを調整しても、どんどん難しくなってゆくばかりで
最後には、敵を集めて超必殺で終わりのような雑な仕上がりに陥ることがとても多くなります(個人的に)。
そんな時洋ゲー的雑なバランス(良い意味で)のものをを調整してゆく(難しいものを簡単に)と
いい感じに仕上がる事が多くなると感じています。
そんなとき便利なのが、Attack などの個別コマンドでは一撃10〜30のように統一して設定し
Offense all 1.8(数値が大きくなるほど強力)
Defense all 0.6(数値が小さくなるほど強力)
このコマンドを各キャラのヘッダー(HealthやSpeedなど書くところ)に記述して
このコマンドの引数でバランスを調整して、あまり各AttackやHelathなどは弄らすに
済ますようにしてバランス設定をすると、おおきな混乱なく調整できるかと思います。
0388名前は開発中のものです。
垢版 |
2022/07/24(日) 19:15:52.84ID:yrPtcXzi
コウちゃん消えちゃったね...今年1月-6月分はどんなタイトルがありますか?
(壮絶介護と認知症介護で全く見られなかった...無念です)
2021年12月までは全てあります
0389名前は開発中のものです。
垢版 |
2022/07/25(月) 03:26:21.56ID:R2FHKdS3
あ〜私もファンといいながらスペシャルの発表の頃チェックしに行くくらいでした。
1ヶ月くらい前はスペシャルの4デモとか、あと、FF、アナザーガールズ、といった
過去作のリメイク的なものだったかと思います。
どうやら会員制のサイトに登録か、ソーシャルネットの友達にでもならないと今後は絶望のようですね。

勝手に改変されクレジットを偽って無断配布された的なことを書かれていたので、
仕方がないかもしれませんね。もともと法的にグレーゾーンだけど、完全フリーだし良いよね?的な
曖昧さでOpenBoRは成り立っている面もあるので、氏の怒りはもっともではあるものの、
結局、氏のMODもプレイアブルキャラ以外は他者からの流用が殆どなので、
2次創作として有料サイトに登録は自衛としてギリギリの落とし所なのかなと思います。

というか改変に関しては、様々なMODやムゲンから切り張りして私も使ったりしているので、
偉そうな事は一切言えないのでしたw
0390名前は開発中のものです。
垢版 |
2022/07/25(月) 12:02:19.45ID:uTZpI5um
2021年後半の作品は、VSゾンビとか妖怪とかエイリアンとの戦いが目立っていたので世界観が??謎すぎると思って??記憶から消えがちだったかも知れません
RAGE (VS人)は18作品
HAZARD (VS異種)は10作品以上と2022年の5作品位かな?
スペシャル3は2021年の夏ごろで
スペシャル4はつべ削除後とかかな?
お返事くださりありがとうございました!
0391名前は開発中のものです。
垢版 |
2022/07/25(月) 18:35:12.74ID:15AbLW26
世界観かあ、あまり考えてなかった。
確かにエイリアンとアニメ主人公的なキャラが同時に敵として現れたら変な感じですね。
MODの中には、普段はホラー系の敵で、ゲーム中テレビに閉じ込められて、そのテレビの映像の敵と闘うというように別な世界観を上手くMIXさせていたり。パレットで肌の色を青や緑に替えてゾンビ化してしまった的な感じなものもsりました。
くにおくんのような世界観が固まっている作品はアレンジが難しいでしょうね。
0392名前は開発中のものです。
垢版 |
2022/07/26(火) 01:59:53.89ID:Z0JONnIb
Ladies of Rage(Remix) / Anime Mix Chaos / Womens War とか女性の敵からボコボコにされるのを楽しむ系もありますねw
0393名前は開発中のものです。
垢版 |
2022/07/26(火) 03:39:33.19ID:GiffkAeR
プロ-ロキsちゃんはもう少しでこのへん行きそうだったのにね
(素晴らしいぞこの力)
tube.com/playlist?list=PL902ACB2B1DD07901
いなくなってしまって誠に残念
0394名前は開発中のものです。
垢版 |
2022/07/27(水) 01:52:47.09ID:YIU6GmYF
BonusJZ氏 BlazeRhodon氏などお見かけしなくなって久しい反面、
Kratus氏 BloodBane氏 kt住江氏などなど頑張っていらっしゃる方も多数なので、
まだまだOpenBoRは大丈夫だと思います。
0395名前は開発中のものです。
垢版 |
2022/07/27(水) 15:16:34.55ID:QvRu+w5T
次こそは、シェリア ミウ シエル で投剣ガールズか!?
とツッコミ入れようとして
3月後半の0時-6時未明に落としていた
スペシャル4HAZARD (VS異種)あった!
0397名前は開発中のものです。
垢版 |
2022/07/28(木) 01:51:19.28ID:i5ijIl7+
KOU氏のプレイアブルキャラの選定センスは
かなり上手いところを突いていると個人的に思っています。

RAGE編だと、KoFの主人公やそのライバルキャラをブっ飛ばす事になるので、
ある程度残虐でも許容できるHAZARD編に移行したのかも知れませんね。
そうなってくるとDemonSlaga風に派手派手にぶちまけても良いかも。

なんにせよ期待できますね。
0399名前は開発中のものです。
垢版 |
2022/07/31(日) 02:55:53.36ID:ZiN6ib1W
void dodgez( float Vx, float Vy, float Vz )
{
void self = getlocalvar("self");
int pZ = getentityproperty(self, "z");
int sZ = openborconstant("PLAYER_MIN_Z");
int mZ = openborconstant("PLAYER_MAX_Z");
int dir = getentityproperty(self,"direction");
if(dir==0){ Vx = -Vx; }
if((pZ-sZ) > ( mZ - sZ)/2) { Vz = -Vz; }
if( Vx!=NULL() && Vy!=NULL() && Vz!=NULL() ) {
tossentity(self, Vy, Vx, Vz);
} }

まあ、雑談ばかりでもアレなんで、
Anim Dodge を設定していると
上上や下下でAnim Dodge が実行されますが、このコマンドがAnim AttackUpや
Anim AttackDownと被っているので、どちらかの選択になります。
そこで、上記スクリプトを使うと好きなコマンドで緊急回避的ま動作
Z軸によって画面奥か手前に自動でジャンプ移動します。
Anim AttackBackward などに設定しても良いですね。
0400名前は開発中のものです。
垢版 |
2022/08/01(月) 03:19:56.78ID:wW6uwh2l
キャラクターや演出などのMODEL を作る際に設定する TYPE
大雑把に Player Enemy NPC Obstacle などありますが
演出や弾丸、波動拳的な飛び道具を設定するときは Type Noneを使う事が多いかと思います。
ですが、Type None に設定してしまうと、Anim Attackなど結構な数のAnim が制限を受けます。
なので、例えば敵との距離で炸裂したい弾を作りたいと思ったら、TypeをNPCにして
あとは、Hostile Enemy、Candamage Enemy、Anim Attack(FollowAnim/FollowCond)、など自由に設定して
高性能な飛び道具を作る事ができます。
NoMove 1 1 としておけば勝手に移動もしません(ChangeEntityProperty でVolocityを弄れば動かせます)。
SubType Chaseにすれば強力な誘導弾にもなります。
Range 設定やAnim JumpAttack(自動でジャンプ攻撃), JumpAttack2(垂直ジャンプ攻撃)を使って
罠のような性質にもできるので、あとは想像力次第ですね。
0401名前は開発中のものです。
垢版 |
2022/08/04(木) 01:57:45.95ID:MsMljLu8
>>372 で ComboStyle 1 の ATChain と Range を調整する事で
近距離と射撃の混合。
例えば、近距離殴り(1 1 2 3)、遠距離射撃(5 5 5 6)みたいに出来るかも?
の実験結果、遠距離/近距離の切り分けは普通にできますが
遠距離は5,5,5,6、のように綺麗には発動せず。
ただ、まあまあ雰囲気はでるかな?くらいの効果はありました。
実験用動画ではハンドガンとグレネードガンでおなじみのキャラをインポート。
C社のキャラは本当に良く出来ていますね。
0402名前は開発中のものです。
垢版 |
2022/08/09(火) 02:25:56.85ID:JDfy2WDi
MOD MixMasters では、敵キャラがプレイヤーキャラより手前に来ると
UpDate / UpDated.C を使って、敵キャラを半透明になるようにしていました。
4〜5体の敵が出てくると、結構プレイヤーと被って見え辛くなるので
上手い処理方法があると良いのですが、なかなか難しい。
0403名前は開発中のものです。
垢版 |
2022/08/09(火) 02:37:05.37ID:JDfy2WDi
最初はA2ボタンなどに必殺技として登録していたハンドガンや擲弾銃を
>>401のようにAボタンのコンボで出るようにして
無敵にならないように、間に隙としてリロードを挟むようにしたら
思ったよりストレスw 調整っていろいろ難しいですね。
0404名前は開発中のものです。
垢版 |
2022/08/10(水) 01:45:49.65ID:bGglhmth
EntityProperty の ”Grabbing” 現在掴んでいる相手の情報が格納されているようなのです。
Target = GetEntityProperty(getlocalvar("self"),"Grabbing")
if(Target != NULL()) { 〜
こんな感じにとても便利に使えるのですが、
ChangeEntityProperty(getlocalvar("self"),"Grabbing",NULL())
こういう風に使おうとすると、無理〜っとErrorが出て落ちます。
GitHubに OpenBoRのソースがあるので追ってゆけば良いのですが、
まあそこまでしなくてもスクリプトでいっかとなってしまいますw

何がしたかったというと、掴み暴発の際に即リリースできたらと思った訳です。
Anim Grab に Cancel 0 99 0 A2 FreeSpecial な記述を加えて
A2で技を出すや JでGrabAttack2 で解除など他にやりようがあるので
切実な問題というわけでもないのですが、MOD Tekken Demo v6のように
コマンド技で掴みというのも面白いかもしれませんね。
0405名前は開発中のものです。
垢版 |
2022/08/15(月) 01:00:51.91ID:lU8v9ZEH
スレの趣旨と違ってしまうかもしれませんが、
「〜というMODの〜の表現(必殺技など)はどうやってるの?」的な質問があれば
分かる範囲ですが解説します。
標準コマンドで為しえるのか、スクリプトでないと無理なのか、などなど
情報を共有して行きましょう。
そしていつかはオリジナルMODを作り上げましょう。
0406名前は開発中のものです。
垢版 |
2022/08/19(金) 04:45:00.56ID:MOIk3mud
セーラー真空波動拳というものを見たことがありますが数年見つけられずに忘れかけて います
誰かこれをダウンロードできた人はいますか
twitter.com/sailor_beyond/status/1297100443395346432
https://twitter.com/5chan_nel (5ch newer account)
0407名前は開発中のものです。
垢版 |
2022/08/20(土) 02:22:24.53ID:ELyaagM/
水夫月に関するものはopenBoRだけでも結構あるので全く分かりません。

SetEntityVar/GetEntityVarを上手く使って敵同士が連携をとる
すばらしいスクリプトのMODがリメイクされている最中なようですが、
同じものかは分かりません。
往々にしてOpenBoRのMODの場合、自分で作ってしまったほうが早い事も多いので
自分式MODを作成して、後に正式リリース版と比べて解釈の差を楽しむのもありです。
0408名前は開発中のものです。
垢版 |
2022/08/20(土) 09:09:14.53ID:b85V74xz
Ladies of rage の完成版 (キャラ少ない初期の物)に
v3の ももこ アテナ を全てのステージに追加する方法を詳しく教えてください
お願いします!
(pak展開はできます)
0409名前は開発中のものです。
垢版 |
2022/08/20(土) 09:27:34.07ID:b85V74xz
プレイキャラとして
が抜けていました
ロード時 コンティニュー時 も選べるようにしたいです
お願いします!
0410名前は開発中のものです。
垢版 |
2022/08/21(日) 01:45:09.25ID:HGvXapyt
>>408
 Ladies Of Rage の真のオリジナルを私も所持しているかというと確証が無いのですが、
キング・メイ・マリン・シオン の4キャラが最初かと思います。
そして、V3ですが、標準は上記にアテナ・シキが加わりモモ(カポエラ)が使えるものかと思います。
基本的なところですが、先ずOpenBoR のシステムとして MODELS.txtが読み込まれ
LEVELS.txt が読み込まれます。
必要があれば SCRIPTS.txt 他 BGS SCENES などなど
 LadiesOfRageではRocketViper2のスクリプトでキャラを読み込むような無茶な事はしていないので、
MODELS.txtとLEVELS.txtだけを覗けば概要がわかります。
MODELS.txtを見てみると # Players must also be loaded. と書かれた所に
know momo data/chars/momo/momo.txt
とありますので、know をload に変えてやると初期キャラとして使えるようになります。
 何故そんなことが分かるかというと、LEVELS.txt に SET P.M.S. とありますが
これは、ゲームモードを選ぶときの選択肢として出てくるものです。
見てゆくと、SET 〜が他にもあるかと思いますが、ゲーム中はP.M.S.を一回クリアしたらと表示されてます。
他の SET 〜 には ifcomplete 1 という記述があります、これが一回クリアしたら解禁の部分です。
他にも Credits 〜 Lives 〜とありますね、意味はなんとなく察する事ができるかと思います。
脱線しました。
さて、ここまで分かれば、もともと同じ内容のMODなので、キャラクターの移植は簡易です。
0411名前は開発中のものです。
垢版 |
2022/08/21(日) 02:13:57.65ID:HGvXapyt
続き
MODELS.txt にある
load athena data/chars/athena/athena.txt
load Mball data/chars/athena/mball.txt
load(Know) momo data/chars/momo/momo.txt

この3行を移植先(今回はオリジナルLoR)のMODELS.txtへ、
Data/Chars/ にある athenaフォルダ momoフォルダを
移植先のData/Chars/ にコピーしてあげるだけでプレイアブルキャラとして
使用できるようになるかと思います。
ヴァージョンによって既に athena ・ momo フォルダが存在しているかもしれません。
そんなときは、上書きせずMODELS.txtだけ書き換えれば良いかと思います。
私が持ってる LoR V3 は2015年版なので違う部分もあるかもしれませんが、
キャラ移植の基本は MODELS.txt へのpath記述です。
SkipSelect などが絡んできたらまた解説します。何かのお役に立てれば幸いです。
0412名前は開発中のものです。
垢版 |
2022/08/21(日) 06:42:24.72ID:Jk6y5MtS
ありがとうございます
せっかく面白いアプリのテーマATHENAを作ったのに初音ミクのアクションゲーム onion rage (仮)とPSYCHO SOLDIER X
が非公開で困っていました
たくさんありそうで実際は少ないものですね
お返事くださりありがとうございました!
0413名前は開発中のものです。
垢版 |
2022/08/21(日) 07:59:32.24ID:Jk6y5MtS
ATHENAプレイヤー5種類位?少ないです
モーションだけATHENAであってそうではないキャラと言語が英語のグレイスミスは除外
あるいは敵キャラばかりに採用されてます
0414名前は開発中のものです。
垢版 |
2022/08/21(日) 17:14:31.20ID:HGvXapyt
>>411 の続き
肝心な事を忘れてました、
Data/Chars/ に キャラクターフォルダをコピーしたし
MODELS.txt にもPathを記述したのに Athenaが出てこないよ?
そんなときは、キャラクターのファイル、アテナなら Athena.txt
このファイルの上のほう(HealthやType Player)があるところに
Secret 1 がないか見てください、あったら #でコメントにするか、削除すれば
最初から使えるようになります。
0415名前は開発中のものです。
垢版 |
2022/08/22(月) 01:44:28.79ID:RGCjwBou
void dodgeleapz( float Vx, float Vy, float Vz )
{
void self = getlocalvar("self");
int pz = getentityproperty(self, "z");
int sz = openborvariant("PLAYER_MIN_Z"), mz = openborvariant("PLAYER_MAX_Z");
int dir = getentityproperty(self,"direction");
if(dir==0){ Vx = -Vx; }
if(pz-sz >= mz-sz ) { Vz = -Vz; }
tossentity(self, Vy, Vx, Vz);
}
少し上のAnim Dodge に使うと、画面のZ軸から跳ぶ方向を自動で振り分けるスクリプト
ちょっとミスがあったので修正。Z軸の移動範囲を半分にして、手前なら奥に、
奥なら手前に跳ぶようにできます。
Vxは前後方向、Vyは跳ぶ高さ、Vzは奥行きへの移動量。
0416名前は開発中のものです。
垢版 |
2022/08/23(火) 02:15:45.23ID:eu39154P
>>413
言われてみればOpenBoRでプレイアブルキャラとしてAthenaを採用しているのは、
意外と少ないかもしれません。
スミス氏のキャラは豪快にスプライト数を削除しているので、移植には不向きな面もありますね。
OpenBoR Engineのポテンシャルや昨今のPCパワーから、少々メモリを節約したところで
それほどパフォーマンスに影響するとも思えませんが、それぞれ様々な考え方があると勉強になります。
0418名前は開発中のものです。
垢版 |
2022/08/24(水) 03:38:17.12ID:ZMrXo7PJ
アテナが少ないに触発されて、ムゲン(Chloe氏作)からインポート中。
ただ根本を知らないので、
なんかこう着替え(コスプレ)攻撃を得意とするキャラなの?という感じ。
基本技のみ仕上げたところで断念。
動画ではステージ1クリアまで。まだ被撃判定つけてないので無敵。
0420名前は開発中のものです。
垢版 |
2022/08/26(金) 00:47:01.71ID:5AHLYqLV
元々全てがひと様の物なので永遠に完成はしないですw
FFactoryで、ただボーっと元の製作者様のスプライトとアニメを見て、
ああきっとこんなキャラなのかな?と勝手に解釈してOpenBoRに移植してます。
0421別の人
垢版 |
2022/08/26(金) 04:41:39.70ID:oO5qftHX
完成イコールキャラフォルダだけをThe MUGENとかに投稿してデータ保管とか
0422名前は開発中のものです。
垢版 |
2022/08/27(土) 01:15:34.53ID:TnfcNmnm
didhitscript @script
void main() {
void self = getlocalvar("self");
void tar = getlocalvar("damagetaker");
void anims = getentityproperty(self,"animationid");
void dir = getentityproperty(self,"direction");
if(tar != NULL()) {
if ( anims == openborconstant("ANI_Special2") )
{
if (dir==0) { tossentity(tar, 2.2, -0.8, 0); }
else { tossentity(tar, 2.2, 0.8, 0); }
} } }
@end_script

普通は animationscript data/scripts/script.c
こんな感じに別なテキストファイルを用意したりしますが、直接キャラファイルに
書き込んでも機能します。
上の例では、Anim Special2 が実行されている間、攻撃が当たるたび相手が浮くというもの
いわゆるお手玉ですね。相手のAnim Fall が短かったり無敵になったりすると
落としてしまいますが、連続技の演出に便利です。
0423名前は開発中のものです。
垢版 |
2022/08/29(月) 02:38:09.46ID:qC23piWD
anim follow55
@script
if(frame==0) {
void self = getlocalvar("self");
float x = getentityproperty(self, "x");
float z = getentityproperty(self, "z");
setentityvar(self,"px",x);
setentityvar(self,"pz",z);
}
@end_script
delay 9
offset 36 84
frame data/chars/athena/913.gif
attack 0 0 0 0 0 0 0 0 0 0
@cmd dasher 3 0 0
offset 28 82
frame data/chars/athena/981.gif
@cmd stop
offset 35 93
frame data/chars/athena/982.gif
@cmd changeentityproperty getlocalvar("self") "position" getentityvar(getlocalvar("self"),"px") getentityvar(getlocalvar("self"),"pz") 0

これだけだと意味が無いですが、最初(Frame==0)に自信の位置をpx pz に代入して
一番最後の changeentityproperty で自分の位置情報を最初の位置に書き戻してます。
途中の@CMD Dasher〜で素早く移動するような動作をさせています。
これを繰り返して、様々な(frame)を記述することで、同じ場所に立ちながら
分身を連続攻撃させているような効果になると思いたいw

動画では普通のmove を使った連続攻撃と混ざって分かりにくいですが、
setentityvar / getentityvar を使うと簡単に座標などを保持できるという例でした。
0424名前は開発中のものです。
垢版 |
2022/08/31(水) 04:04:17.93ID:fm9hvYJ9
なんか日本語サイト消えててムカついた
アドスクショしたのは半年前

ウィンドウ(ズ)方式

ファイルをダウンロード.pakして、Windows Toolsset で抽出できます。
名前はOpenbor Makepak & Extractor.

アーカイブを抽出する
.pakファイルを配置して名前を変更する
bor.pakバッチファイルを実行extract.batPAK
ファイルはディレクトリに抽出されdataます...
そのサブフォルダーをhome-pi-retropie-roms-ports-openbor-gamename.bor 5.1に移動すると、 gamename.bor
5.2 の無料の場所dataのディレクトリを選択できますgamename.bor

これじゃ新規の人はほぼわからない
あとクロノとレディット嫌い 簡単に翻訳されない
0425名前は開発中のものです。
垢版 |
2022/08/31(水) 06:22:18.65ID:3nOEbrfx
windows 7 - 64ビット非互換性うんぬんで
PACKER EXEが動かずに元に戻せない!
.pakにするにはどうしたら良いの
0426名前は開発中のものです。
垢版 |
2022/08/31(水) 13:29:09.39ID:3nOEbrfx
pakはデスクトップ直下に置いたら偶然展開はできた(paxplode.exeで偶然展開)

エクストラクター: extract.bat と paxplode.bat を使用します
Pak メーカー: makepack.bat と packer.bat
を使用します borpak.exe は、pak ファイルの抽出または作成に使用できるファイルです。
(.batは全て動かない)

.pakに戻す正確なやり方がわからない

win 7 home premium sp1 (64ビット)
net frameworkは 3.5 のみ
ほかにはDirectXくらい

.pakにするにはどうしたら良いの?
0427名前は開発中のものです。
垢版 |
2022/08/31(水) 23:44:06.64ID:xnrBW77r
私の環境は Windows7/64bit です。
ChronoCrash からDLしたBoRPAK.exe を利用しています。
先ず、PAKファイルを解凍するのは単純に、BoRPAK.exe に対象のPAKを
ドラッグドロップするだけで、PAKと同じフォルダにDataフォルダが自動作成され
Dataフォルダ内に必要ファイルが解凍されます。
OpenBoRの実行ファイルと同じフォルダに、このDataフォルダを入れておくと
OpenBoRを実行した際に、最優先でDataフォルダが実行されます。
メニューが出て幾つかPAKが選べたとしても、ゲーム内容はDataフォルダのものになります。
0428名前は開発中のものです。
垢版 |
2022/08/31(水) 23:55:36.38ID:xnrBW77r
上の時点で不具合が発生する場合、BoRPAK.exeのプロパティで管理者権限にしてみたり、
XP(SP3)モードにしてみるなり、先ずはWindowsの権限を開放しましょう。
あとはアンチウィルスソフトで隔離されていないか確認です。

さて、もう一度PAKファイルに戻すには。私の場合は付属のCompile.batを使っています。
デスクトップに適当なフォルダ(MakePAKとか)を作成して、
そこにChronoCrashからDLした、BoRPAK.exeと付属の〜.bat ファイルを入れ、Dataフォルダも入れます。
そして、Compile.batと管理者として実行すれば、同じフォルダにMyGame.pakが作成されます。
これを適当にリネームしたら出来上がりです。

何もファイルが作成されない。Permission Denied 的なエラーはWindowsの権限不足か
アンチウィルスソフトが何かしてる事が殆どなので、その辺を確認してみてください。

何かのお役に立てばです。
0429名前は開発中のものです。
垢版 |
2022/09/01(木) 00:10:19.71ID:BBcaXtm7
BoRPAKの説明どおりにPathを通しても全く上手く行かないので、
デスクトップで作業したほうが早いです。

openBoR のMOD 作成に興味を持った方がいらして本当に嬉しいです。
これからも楽しくMOD作成が出来ますように。
0430名前は開発中のものです。
垢版 |
2022/09/04(日) 02:53:33.24ID:4+zfMfyQ
>>424

日本語サイトを探すのは至難の業でしょうね。
Kt住江 様を筆頭とするまっとうな方の話以外は
酔っ払いのたわごとが多く、
情報が古い、誤字脱字、妄想、思い込みなどなど
役に立たない事がほとんどなので、
>>7 にあるマニュアルサイトをDeepL先生かGoogle先生に翻訳してもらうのが
一番手っ取り早いかと思います。
0431名前は開発中のものです。
垢版 |
2022/09/04(日) 21:15:33.40ID:fufu1JVK
実は日本語サイト少し前まではあったのねそれで展開の知識だけあったのね

クロノはわかりづらくて、しかも基本普通の人はダウンできない
なのでBlaze Rhodon IIからry

可能性の話
Makepak & Extractorは誰かがテストプレイしながらアップされたものを落としてそこだけ切り抜いた結果
中身がないbor.pakとかDataがあってそれが邪魔していたと考えられる?
8月31日は考えられる?すべての方法を否定された
ツールが1箇所にまとまっていなかったのが原因
9月1日完成!makepackbatバッチファイル動きました Thank You!
ここすら書き込めないとかまじなんなの
2chGearに変えたわ
0432名前は開発中のものです。
垢版 |
2022/09/08(木) 01:12:37.92ID:qw1ooLxH
動作したのでしたら何よりです。
〜.batファイルはシンプルで便利ですが、時に問答無用で上書きしてしまったり、
Windowsのエラーメッセージが出て意味不明だったりでハマると苦労しますね。
0433名前は開発中のものです。
垢版 |
2022/09/12(月) 00:32:14.53ID:62TYiDdQ
void spawnentitybyallenemy(void vName, float fX, float fY, float fZ)
{ void vEnt; //Entity placeholder.
int iType , iValid, iDead, iECnt, iEnt; //Entity counter.
int Tx = 0, Ty = 0, Tz = 0, Tdir = 0;
void spawned = 0;
void self = getlocalvar("self");
iECnt = openborvariant("ent_max"); //Get current entity count.
for(iEnt=0; iEnt<iECnt; iEnt++) //Loop entity collection.
{ vEnt = getentity(iEnt); //Get entity handle.
if(vEnt) //Valid handle?
{ iValid = getentityproperty(vEnt, "exists"); //Get exists confirmation.
iDead = getentityproperty(vEnt, "dead"); //Get death status.
iType = getentityproperty(vEnt, "type"); //Get type.
if(vEnt && iValid && !iDead //Alive?
&& iType == openborconstant("TYPE_ENEMY")) //Enemy type?
{ Tx = getentityproperty(vEnt, "x");
Ty = getentityproperty(vEnt, "a");
Tz = getentityproperty(vEnt, "z");
Tdir = getentityproperty(vEnt, "direction");
if ( Tdir == 0 )
{ spawned = spawnchildentityforparent(vName, self, (Tx+fX), (Ty+fY), (Tz+fZ), 0);
changeentityproperty(spawned, "direction",1);
} else
{ fX = -fX;
spawned = spawnchildentityforparent(vName, self, (Tx+fX), (Ty+fY), (Tz+fZ), 0);
changeentityproperty(spawned, "direction",0);
} } } } }
画面上のHealth 0 以上の全ての敵の座標を取得して、その座標にEntityを出現させるスクリプト

動画のSpecial で全ての敵に物が降って来る演出に使っています。
0435名前は開発中のものです。
垢版 |
2022/09/14(水) 17:21:05.82ID:qyoFRhP/
確かに参考動画の平均視聴30回なのにJillさんだけ80回超えですね。C社のスプライトは本当に生き生きと良く動くから、見ていて気持ち良いからかも?
0436名前は開発中のものです。
垢版 |
2022/09/16(金) 23:54:50.01ID:SwvCtaVf
>>433
spawnchildentityforparent(vName, self, (Tx+fX), (Ty+fY), (Tz+fZ), 0);

ここは
clearspawnentry();
setspawnentry("name", vName);
iDirection = getentityproperty(parent, "direction");
if (iDirection == 0) fX = -fX;
fX = fX + getentityproperty(parent, "x");
fY = fY + getentityproperty(parent, "a");
fZ = fZ + getentityproperty(parent, "z");
}
vSpawn = spawn();

内容はこういったものなので、似たもので代用してください。
0437名前は開発中のものです。
垢版 |
2022/09/17(土) 05:08:07.68ID:fStGlV/y
つべcrayon shin chanはあなた様ではないですよね
testやBindEntityで検索しても出てこなくなっちゃった
2chGearが特定の文章を削っているのかな?
0438名前は開発中のものです。
垢版 |
2022/09/18(日) 12:37:16.13ID:iI+JI5KT
bindentity系の動画は新しいの作成中で削除してしまってます。
クレしんMOD面白そうですよね。DD Toki氏が作成中のようです。Jillさん動画とは無関係ですね。
0439名前は開発中のものです。
垢版 |
2022/09/26(月) 01:50:21.99ID:6J4qsPGM
OpenBoR knockback Test この動画で、>>422 を通常攻撃で作用するようにしてみました。

最初の3分くらいまでがノックバック有り、以降終わりまでがノックバック無しです。

あまり違いが分からないですね。
ただ、連続技で突き抜けることは少なくなると思います。
0440名前は開発中のものです。
垢版 |
2022/09/27(火) 02:08:31.73ID:7tkhAq8/
anim spawn
delay 12
drawmethod alpha 6
delay 12
drawmethod clip 0 0 90 30
offset 40 30
frame data/chars/cvsjill/551.gif
drawmethod clip 0 0 90 50
offset 43 50
frame data/chars/cvsjill/552.gif
drawmethod clip 0 0 90 75
offset 42 75
frame data/chars/cvsjill/553.gif
drawmethod clip 0
delay 6
offset 37 111
frame data/chars/cvsjill/554.gif

Jillさん動画で地面からゾンビ出現するときの演出に使っている
Drawmethod Clip これは 始点 X,Y 幅、高さ W,Vで画像を切り抜くというもの
1枚しか画像が無くても、出現(描画)する部分を選んで表示することが出来ます。
そんなに使う機会は多くは無いですが結構便利です。
0441名前は開発中のものです。
垢版 |
2022/10/02(日) 23:57:48.95ID:KXJhanxF
OpenBoRはこれもつかえるようです。

? : 条件演算子 a ? b : c aが真ならbが実行、aが偽ならcが実行。
i = (i < 10) ? i + 1 : 0;
この例ではiが10未満なら+1され、10以上ならi=0となります。
If文で記述すると次のようになります。
if (cnt < 10) { i = + 1; } else { i = 0; }

でも普通にIf文で記述したほうが分かり易いですねw
0442名前は開発中のものです。
垢版 |
2022/10/03(月) 23:13:00.80ID:bRhmO1hJ
>> if (cnt < 10) { i = + 1; } else { i = 0; }

if(i < 10) { i = + 1; } else { i = 0; } が正解

for 文みたいな感じですね。
for (cnt = 1; cnt <= 10; cnt ++)
0443代理投稿
垢版 |
2022/11/19(土) 13:54:34.11ID:eQ2LBrG8
お久しぶりです、kt住江です。
このたび、11月22日の夜21:00に、
新作ベルトアクションゲーム『AAシャドウ外伝』を公開します。
原作は、モナー板のモナーRPGの作者さん、
マンドーさんがツクールVXACEで作った『AAシャドウ』となっています。
↓予告OPGIF
ttps://twitter.com/ktsuminoe/status/1590322155405062144

なお、くにおくんのほうは一旦開発を中断していますが、
中止したワケではありません。
12月から開発を再開し、必ずコチラも完成させます。
申し訳ありません。
https://twitter.com/5chan_nel (5ch newer account)
0444名前は開発中のものです。
垢版 |
2022/12/04(日) 01:52:02.96ID:fNIoeOHl
おかえりなさい。
この板はとてもとても時がゆっくり流れているので全てノープロブレモです。
気付くと半年くらい過ぎてますね。
私は私でOpenBoR WIP PiyoPiyo を自分で上げたような気がしてるんですが
しかし、こんなのいつ作ったんだか?まったく記憶に無いので狼狽してます。
ジントニックばっかし飲んでた記憶はあるような無いような、
皆さんもお酒はホドホドが宜しいかと存じます。
といいつつ、芋焼酎お湯割りとバーボンの美味しい季節になりました。
0445天堂少女6.0
垢版 |
2022/12/21(水) 10:22:25.04ID:d5uvwmxl
ROSE&JASMIN様の動画何かいっぱい消えてる
最近2chGearがv1.1.6になりました
0446名前は開発中のものです。
垢版 |
2023/01/09(月) 03:02:48.95ID:FNtCxN0E
個人的には業務目的とかでなければ、そんなに気にしなくても良いと思いますが。
ROSE&JASMIN氏としては他人様のリソースをモディファイしてるだけなので、
大っぴらに発表しにくいと考えているようですね。
技術の見本として参考になるんで、どんどんUPしてもられると嬉しいです。
0447名前は開発中のものです。
垢版 |
2023/02/26(日) 00:15:48.61ID:9HodEVn/
気がついたら3ヶ月経ってました。
kt住江様、
『AAシャドウ外伝』 とても楽しませていただきました。
kt住江様のゲームは特徴のあるキャラクター達(原案あれど、命を吹き込まれたその動き)と、
「間」がとてもしっかり作られていて、各ステージも作業にならず
コンボでパターン化しても良し、嵌めても落としても良し
でも舐めプするとガシガシとHPを削られると攻略にメリハリがあって
とても楽しめます。ボスがちゃんとボスしてるし、攻略の糸口もちゃんとある。
とにかくしっかり作られていて、バランスの良い仕上がりに毎度ながら脱帽です。
FC/MSX?的な独特のグラフィックも素晴らしいセンスでまとまっていて、
相当なドットワークの経験をお持ちなのかと思います。
楽しい時間をありがとうございます。
0448名前は開発中のものです。
垢版 |
2023/02/26(日) 22:04:15.21ID:JSJyAtRN
早苗7というふざけたキャラクターを作りました音声ファイルが正常に再生されています

キングボンビーレム7というふざけたキャラクターを作りましたが
--ビット深数なのか周波数なのか
用意したwav音声ファイル読み込まないけれどなにで録音し直したらいいのでしょうか?--
0449名前は開発中のものです。
垢版 |
2023/02/27(月) 01:08:35.22ID:H4ZrGNd0
.WAV ファイルはデフォルトばかり使っているので詳しくは分かりませんが
マニュアルでは
ビット深度
8 - 一般的なサウンドエフェクトに推奨。
16 - スクリプトでステレオミキシングを行う場合に推奨します。
   8ビットでミキシングすると、効果音に "ポップ "な音が入ることがあります。
サンプルレート
11Khzから44Khzまで。
一般的に音質とサイズのバランスが最も良い22Khzを推奨します。
となっていて、特に変わった制約などは無いようです。
キャラクターモデルファイルを読み込む際に
コマンド SOUNDがあるとメモリに読み込まれる仕様。

ファイルの場所指定が間違っている無いかとか、
ファイルネームに空白が混じっていないかとか
ファイルネーム長すぎでも駄目なときがあります
何かの参考になれば
0450名前は開発中のものです。
垢版 |
2023/03/07(火) 04:35:09.35ID:OFiiM21T
もうAthenaさんを調整しつつ動画を上げてた事も忘れてました。
Jillさんとか本当に自分が上げたなんて信じられないくらい忘れてる。
ブログなどでやれって話かもしれませんが、このスレが覚え書きになってくれてとても感謝です。
WarDukeのように分岐のあるダンジョンでも作ろうかと色々試していますが、
フラグの管理で気が遠くなりそう、WarDuke作者様の根気に感服しています。
0451名前は開発中のものです。
垢版 |
2023/03/31(金) 17:15:20.50ID:ChfoT1ii
246できません
敵が召喚したアイテムを敵に当てられません
--自滅が目的です--
item none npc player enemyほかに候補はありますか
2重召喚する必要がありますか
0452名前は開発中のものです。
垢版 |
2023/04/09(日) 02:04:27.71ID:cawyYZ6p
MUGENの便覧
やりたいことができないしエラーだらけで全部使えないし!はいこれ
ux.getuploader.com/bon0718/download/3
0453名前は開発中のものです。
垢版 |
2023/05/16(火) 13:07:18.64ID:udHk8L9s
ちょくちょく参考にさせてもらってます。
質問ですが、grabinの掴みが機能するのは動かない時のanim attackだけっぽいですかね?
「grabin 1 36」とAttack Boxを設定した同じアニメーションをanimation typeだけ変えて試した範囲では
↓Attack Boxヒット時に引き寄せた後のanimation type毎の挙動
attack → 掴む
attack(「move」がある) → 掴まない
attack(「jumpframe」がある) → 掴むがjumpframeの移動が続く
attackboth → 掴まない
block → 掴まない
chargeattack → 掴まない
follow → 掴まない
freespecial → 掴まない
(※)freespecial → Attack → 掴まない
special → 掴まない

※以下の内容(frameのpathは省略)のfreespecialから上と同じAttackを呼び出す
@cmd changeentityproperty getlocalvar("self") "animation" openborconstant("ANI_ATTACK")
frame 〜

こんな感じでした。
「Grabdistance 0」にして接近だけで掴み状態にせずに掴みアクションから掴める様にしたり
ラッシングビート修羅のジミーの様に特殊技として吸い込み掴みを使いたいんですが…
普通のgrabやanim attack以外からのgrabを使っている作品とか方法を知ってる方いますか?
0454名前は開発中のものです。
垢版 |
2023/05/18(木) 01:52:06.20ID:Ahrjuvwy
すいません多分解決しました。。
dograbなんてあったんですね…OpenBORManualに記述なかったので盲点でした。
0455名前は開発中のものです。
垢版 |
2023/07/08(土) 22:08:59.78ID:OiebaP6r
>>453
通常のGrabやAttackコマンドを介さずGarbするのは中々難しそう
私の知っている範囲だと、掴む相手(GrabedTarget)の選定が面倒で
敵が複数(AとB)いて、
Aを攻撃して倒し切らずに、Bに近付いてスクリプトで掴もうとすると
Target判定の残っているAを掴んでしまう事(Aが離れていてもテレポートで吸い込むw)が結構あります。
スクリプトの段階でTarget判定を丁寧にすれば良いと思うのですが乱戦が多いゲームなんで面倒そうw
通常コマンドのGrabWalk関連を調べてみるとよいかもですね。
0456名前は開発中のものです。
垢版 |
2023/07/10(月) 10:33:44.29ID:JU+qA8cq
掴みからの投げキャラで良くできてるなと思ったのがCrimeBustersのMaximaかな
SoR2Xとか掴んだあと相手の後ろに回ったりとか原作みたいなアクションできた気がする
0460名前は開発中のものです。
垢版 |
2023/07/19(水) 16:58:27.39ID:L6Ei/eLq
A.I.の台頭で背景画やアニメーション制作がしやすくなったっぽい?
某「クエイサーっぽい」MODのような演出に凝った作品制作にチャレンジできるかも。
というかニコニコで発表されてから12年もの月日が流れているとはw配布されたんですかね?
さておき、良い材料がそろっても結局製作者の想像力が追い付かないと、どうにもこうにもでしょうね。
0461名前は開発中のものです。
垢版 |
2023/07/20(木) 21:26:14.84ID:1PWQA0vF
マスカクの作者さんですかね?>クェイサーっぽい
GIFアニメを駆使した力作のようでした
ふっと消息を絶たれて今に至るようです
復活が期待されますが
今はgodotにunityと開発環境が豊富ですからね
0462名前は開発中のものです。
垢版 |
2023/07/20(木) 21:35:38.67ID:1PWQA0vF
そういえば、DD Tokki氏のKofRがアップデートされているようです
粛々と開発を続けてらっしゃるようで完成が待ち望まれます
0464名前は開発中のものです。
垢版 |
2023/07/27(木) 04:48:54.90ID:9IranWxT
>>463
Howto や Gameover など、特に面倒はなかったかと思います。

基本、
data/scenes/howto.txt こんな感じで /scenes/ フォルダにHowto.txt があれば、ゲーム中の Menuで選べるようになり。
txtの内容も単純に下のように

music data/music/howto.bor 1
animation data/scenes/howto.gif 0 0
silence

こんなんでOK

> animation のところでGifファイル(アニメ)を指定すればよいだけですが。
一枚絵を無限ループアニメと設定しておいても、一瞬で終わってしまうようです。
例えばGIMP(その他GIFアニメ作れればなんでもOK)でレイヤー(同じ絵でOK)を2枚用意して
ファイル保存(GIFでエクスポート)>>アニメーション設定をチェック>>一枚当たり500ミリ秒(適当)表示としておけば
一瞬で終わることなくHowtoやGameoverなどのシーンを表示できるかと思います。
0465463
垢版 |
2023/07/28(金) 20:16:12.20ID:9CyUvDcA
先生いつも本当にありがとう
いつもわがままな弟子たちの質問に答えてくれてありがとう
あなたの知らないうちに弟子がたくさんいる
ようです
まるで岩本三四郎先生のようだ
ありがとうございます!

448
giam209.exe wait1000でok
wav音声ファイルも録音し直しするだけ
アリスがゾンビみたいな歩き方で、やめいって思ったので描き直した
toumou fight par ver3 けっこうやらしい
でけたよー
https://tadaup.jp/2820043168.gif

https://tadaup.jp/2820032332.gif

https://tadaup.jp/2820003919.gif
0466名前は開発中のものです。
垢版 |
2023/08/08(火) 21:56:53.66ID:dDMNhSpi
どうやら私の人生はここまでのようですね
もうプログラムの追加も修正もできない
でも最速ロードで pc PSP PS3 vita switch スマホ で動くのを確認済み
夢は叶った!そして悲劇と共にいきなり私の人生は終わった...
0467名前は開発中のものです。
垢版 |
2023/08/11(金) 09:21:14.16ID:EIfZEBfi
おやバックアップ忘れですか?
プロジェクト喪失の絶望、わかります。
フリーのHDDリカバリーソフトでも結構よい性能なのでお試しあれ。

今いろいろステージギミックを考えてます。
透明な攻撃判定だけ設置して、触れたらanim follow で少し先に地雷をばら蒔き。
地雷のanim idle は2〜3回点滅表示させて後は透明になど。
global変数でフラグ設定して色々ギミック管理しはじめると沼ですね。
0468名前は開発中のものです。
垢版 |
2023/08/12(土) 11:08:13.40ID:jLdP8vm4
lifescore
credscore
有効化できたことはありませんか?

またはクレジットアイテムを作ったり残機 マイナス×99アイテムはできたことはありませんか?
有効化ができませんでした
0469名前は開発中のものです。
垢版 |
2023/08/13(日) 00:11:24.60ID:xdfwtTwf
lifescore credscore に関しては Models.txtに記載することで機能すると思いますが?
Modderさんの中にはLevels.txtにも記載してる場合もあります、色々なヴァージョンがあるので正解は不明ですねw
0470名前は開発中のものです。
垢版 |
2023/08/14(月) 15:11:42.16ID:9IVLIwLo
lifescoreはmodels.txtに記載することで動作してますね。
itemでクレジット増やすのは、当該アイテムのentityのヘッダーにcredit 1等記載すれば良いようですが、残機のマイナス効果はスクリプトにすればどうにかなるかもです。

最近、pakファイルにロック掛けて中身を覗けないようにしてるModderさんが多くなってきてショボーンですw
0471名前は開発中のものです。
垢版 |
2023/08/14(月) 22:01:18.65ID:bpKPl4N+
name Hotdog
type item
subtype touch
candamage player
didhitscript @script
void main() {
void target = getlocalvar("damagetaker");
int PIndex = getentityproperty(target,"playerindex");
changeplayerproperty(PIndex, "lives", 0);
changeplayerproperty(PIndex, "credits", 0);
} @end_script

anim idle
attack 11 10 32 20 0 0 0 1 0 9
loop 1
delay 300
offset 25 25
bbox 11 10 32 20
frame data/chars/misc/Hotdog.gif

こんな感じで設定すれば、アイテムに近づき攻撃判定に触れると
didhitscriptが実行されて、残機とクレジットが0になります。
この仕組みだとType Itemである必要は特に無いのですが、何かの参考になれば。
0472名前は開発中のものです。
垢版 |
2023/08/15(火) 10:14:55.85ID:5qSS1H4z
>>471
敵に Anim get がある場合、敵が拾っても発動することがあるので、

bbox 11 10 32 20
ここを

itembox 11 10 32 20
とすることでcandamage player で設定しているようにplayer のみが拾えるようになります。
標準のcandamage コマンドとちょっと違って type Item 専用の動作になります。

type item のヘッダーにcredit と記入すればクレジットが増えるアイテムになりますが、
どうやら複数の効果はスクリプトを使わないと無理みたいです。

最後にlifescore はlevels.txt に記載することで機能してます(Ver.3_Rev.6391)。
credscore は検証中。
0473名前は開発中のものです。
垢版 |
2023/08/15(火) 10:20:05.70ID:5qSS1H4z
name Hotdog
type item

health 100

candamage player
didhitscript @script
void main() {
void tgt = getlocalvar("damagetaker");
if (getentityproperty(tgt,"type")==openborconstant("TYPE_PLAYER")) {
int PIndex = getentityproperty(tgt,"playerindex");
changeplayerproperty(PIndex, "lives", 1);
changeplayerproperty(PIndex, "credits", 1);
} }
@end_script

anim idle
attack 11 10 32 20 0 0 0 1 0 9
loop 1
delay 200
offset 25 25
itembox 11 10 32 20
frame data/chars/misc/Hotdog.gif

こんな感じにcandamage player とitembox を組み合わせると、プレイヤーが拾った時だけ効果が出ます。
0474名前は開発中のものです。
垢版 |
2023/08/15(火) 12:52:52.96ID:2535FRyI
うちの環境ではライフスコアが5万で固定されてます。
クレジットスコアは機能せず。
クレジットアイテムでは増えます。
謎は深まるばかり。
0475名前は開発中のものです。
垢版 |
2023/08/16(水) 10:49:29.69ID:90h10/mV
old manual ではModels.txt に記入するように、
lifescore はデフォ5000、credscore はデフォ不明、数値によっては反応しない。数値を0にするとバグるよ?
と書かれていますね。
実際Models.txt にcredscore 0としたところ、最初の敵を攻撃してスコアが動いた時点でクラッシュしました。
0476名前は開発中のものです。
垢版 |
2023/08/17(木) 01:28:49.71ID:lEcdpfS2
まだやってます、敵の団子問題。
subtype やaimove ・speed などを変えてEntity.txt を作ったり、NPCを登場させたり色々工夫の余地はありますが、
やはりプレイヤーが倒れて起き上がりや、再登場の際にはChaseタイプの敵が群がってきてしまいがち。
range を設定して、そこからrand() のスクリプトで別な動作にchangeentityproperty させるのもあり。
そんな中で、いくつかの敵Entityに Platform を設定して他の敵を一瞬足止めするというのをやってみました。
anim idle

loop 1
delay 50
offset 25 25
platform 25 30 -20 -20 20 20 10 30
frame data/chars/misc/Hotdog.gif
こんな感じで足場(platform)を設定して、それにぶつかると停止する機能を流用。
anim idle,anim walk,anim backwalk などに設定しておけば少し団子が防げるかも?
完全に重なってしまうとお互い影響しあって動けなくなったりするもの愛嬌w
0477名前は開発中のものです。
垢版 |
2023/08/19(土) 10:42:29.91ID:LQTpaOO8
なかなか検索しづらい AIFlag について見つけたもの
Available properties:
animating
attacking
autokill
blink
blocking
charging
dead
drop
ducking
falling
frozen
getting
idlemode
idling
inbackpain
inpain
invincible
jumpid
jumping
projectile
riseattacking
rising
running
toexplode
turning
walking
walkmode
0478名前は開発中のものです。
垢版 |
2023/08/21(月) 22:33:30.84ID:AQsTVOZ0
@cmd changeentityproperty getlocalvar("self") "damage_on_landing" 0
@cmd changeentityproperty getlocalvar("self") "projectile" 0

@cmd changeentityproperty getlocalvar("self") "aiflag" "falling" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "jumping" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "running" 0
@cmd changeentityproperty getlocalvar("self") "attacking" 0
@cmd setidle getlocalvar("self")

こんな感じに使いますが、あまり無茶するとバグります。
0479名前は開発中のものです。
垢版 |
2023/08/23(水) 01:57:45.53ID:U4IcJWNw
anim freespecial9

delay 9
@cmd changeentityproperty getlocalvar("self") "damage_on_landing" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "projectile" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "falling" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "jumping" 0
@cmd changeentityproperty getlocalvar("self") "aiflag" "drop" 0
offset 62 70
frame data/chars/cody/bfall_06.png
なんでこんなんするの?
絶対に必要な処理では無いのですが、投げられにはAnim Land で着地があるのにAnim Fall には無い。
なのでAnim Fall からキャンセルしてリバーサルできないかな?
という事で最初 cancel 0 99 0 U J freespecial9 これだけでやってみたら着地後動けなくなったりしたので
entitypropertyを色々いじって、こんなんなった感じです。
0480名前は開発中のものです。
垢版 |
2023/08/23(水) 02:32:34.95ID:U4IcJWNw
動画 BonusStage で、吹き飛ばし攻撃を受けた際に空中で回転して復帰し、その後急降下攻撃してますが、それが上のAnim の全体像です。
いまはMP消費なして使えてますが、正式採用の際にはMP消費にすれば万能にはならずに済むと思います。
後方からの攻撃には無防備でそのままお手玉で倒されてますが、Anim backfall では消費MPを増やして復帰できるようにするのも良いかも知れません。
あの程度の敵の数では処理落ちしないOpenBoRの可能性、ちょっとした弾幕シューティングも行けそうですね。
0481名前は開発中のものです。
垢版 |
2023/08/24(木) 21:21:23.69ID:YPRNQtgA
あまりコアな話は分からないからPAKファイル解凍してHP/MP増やして遊んでたら
解凍できないPAKファイルあるけどバイナリエディタでヘッダー弄ればどうにかなるとか無いのかね
0482名前は開発中のものです。
垢版 |
2023/08/25(金) 21:11:07.56ID:fMQTw0Wv
くにおたちの挽歌のような坂道って再現できないんでしょうか?
https://tadaup.jp/2521064234.jpeg
0483名前は開発中のものです。
垢版 |
2023/08/26(土) 22:56:53.25ID:gVq4cFtF
坂道(Slope)は
basemap {xpos} {zpos} {xsize} {zsize} {amin} {amax}
で表現します。(OpenBoR V3.4287以降)
敵の配置や Panel、Wall、Holeと同じ ステージ(level).txt へ記入します。
{amin} > {amax} だと下り坂。 {amin} < {amax} で上り坂。
下り坂だと basemap 0 240 200 100 60 0 な感じですね。
ややこしいですが、Levels.txt のほうでそのステージのZmin Zmax を指定した場合、Zmaxより下るには
Hole で穴をあけておく必要があります。
あと、基本無色透明の壁なので、作成中に確認するには Chronocrash Modder Tool でLevelを表示すると
Wall Hole Slopeが描画されるのであると便利です。
私の使ってるOpenBoR StatsではWallとHoleしか表示できませんでした。
手に入りやすいMODでは The City of Chaos のステージ8で坂道を使っていたと思います。
何かの参考になれば。
0484名前は開発中のものです。
垢版 |
2023/08/26(土) 23:21:57.02ID:gVq4cFtF
Legacy Manual では {xpos}{zpos} の場所が左上角になっていますが、
基本Entity のOfset と同じく Xが水平の中心、Zが底面を指していて、
{xsize}で全体の幅、{zsize}奥行きといった形でイメージすると分かり易いかも?
0485名前は開発中のものです。
垢版 |
2023/08/27(日) 02:26:31.67ID:ZmqzU//y
> 基本Entity のOfset と同じく Xが水平の中心
ではなく Xpos は左端、要するに左下の角ですね、offsetと同じ X が水平の中心なのは Platform(Wall,Hole)です。
Xpos Zpos の始点はステージの最初の左端がゼロになります。
0486名前は開発中のものです。
垢版 |
2023/08/29(火) 12:25:13.72ID:AMPeNRG8
気付いてなかったですが Tohou Madness Ver3 が発表されてますね。
原作もかなり人気のようですが、実は未プレイで何も知らないのです。
MUGENのキャラでは大暴れしているのでマミゾー等は何となく分かるんですが、元々はシューティングのようですね?
MUGENからのキャラ移植で作ってみたいなとは思っていますが、トリッキーな技が多かったり、
画面一杯にエフェクト炸裂したりでベルトスクロールでちまちま殴らなくても良いのでは?となったりで1キャラ弄っては
半年放置という感じが何年か続いてますw
SoR2XがSoRXに改名してプロジェクトが続くようです。どうもSoR1〜3の内容で遊べるようですね。
SoR2XのMegaMixのほうが好きなので、そっちも続いてくれると良いのですが。
0487368
垢版 |
2023/08/31(木) 08:54:08.21ID:rm/YzVT2
Tohou Madness Ver5 - 712MB
mega.nz/file/LcQmQIjY#UOxB_BnsaJdT9uAIU9hI6VUBl5qcfXP_rsaPSr69NR0
終わっていた...
重すぎるしどっちにしても動かない
元ネタ 東方非想天則超弩級ギニョルの謎を追え
キャラ 声 チョイヤー voice patch
手に入らないのでテキトー(予定含む)
水樹奈々 iku
キャロル のだぽん witch(あおい)
パティmarisa
西田こむぎ sanae
マリエル ???
小牧愛佳 yuyuko
??? kokoa
まじきなみな eirin
スカイアリーナ
あなたをお人形にしてあげる alice
天峰咲姫 chen
小神あきら Peimu (reimu)
能登麻美子(宮崎のどか) reisen
vocaloid 阿久女イク
あたいの人 Patchouli
??? meirin
ebigen1 byakuren
桃子 koishi
レン TorylNormaBeatty
エンディングテーマ あさきゆめみしショートバージョン(世の中に出回ってない)
夢消失(世の中に出回ってない)
onion rage perfect風toumou par100MB???
0488名前は開発中のものです。
垢版 |
2023/09/04(月) 03:08:23.01ID:Be5pbRJx
Ver5 ですか、色々あるんですね。
700MBというとサウンドデータが重そうですね。
Win版しか考えたことなかったですが、
その他ポートの事を考えると詰め込めば良いと言う訳ではないと。
まあ商売するわけじゃ無し、好きに作って問題ないとは思います。
0489名前は開発中のものです。
垢版 |
2023/09/04(月) 03:25:01.95ID:Be5pbRJx
好きに作ってるといえば、ワールドスミスさん。ゲイリーさんの別名?
相変わらず大胆にスプライトをカットされてますが、何か信念でもあるのでしょうか?
サウンドデーターと違ってメモリー的なメリットも無さそうですが、
アンドロイドやPSPでプレイするには必要なテクニックなのですかね。
Prolophis Videogamerさん、PireWolfさん、BonusJZさん、復活していただけると個人的には嬉しいのですが、上手くいかないものですね。
0490名前は開発中のものです。
垢版 |
2023/09/06(水) 04:41:08.35ID:geV1ojpk
TekkenTDR を作られている Malik氏、成長システムが良く出来ているのでScriptsフォルダを覗くととても勉強になります。
FinakFight系やSoR系で採用されているLevelUpはScoreで成長していましたが、
Malik氏のものは能力に個別のExpを設定してプレイヤーが選択できるようにしたもの。
WarDukeですでに近いもの(アイテムや魔法管理)MixMastersのセーブデータ利用など
複雑なものは既に発表されてきましたが、TekkenTDRのものはかなり簡単に利用できますので、
興味があったら一度覗いて見てください。Speechの部分も楽にストーリーを追加できるので勉強になります。
0492名前は開発中のものです。
垢版 |
2023/09/09(土) 22:24:33.67ID:jQmpcZdf
動画見ました。
levels.txtファイルのskipselect Kazuyaを導入したいキャラに替えて、キャラのファイルにweaponsを追加したら戦闘まで行けました。
ただ装備メニューを開こうとすると落ちてしまいます。対策は分かりますか?
0493名前は開発中のものです。
垢版 |
2023/09/10(日) 15:58:22.42ID:/j8KKXBB
先ず使用するキャラクターのanim spawn、anim deathにKazuyaから同じanimの@cmd 〜を移植します。特にspawnの@cnd〜は成長したステータスの書き換えなので無いとステータスの変化が反映されません。メニューを開くと落ちてしまうのは、data/scripts/speech/〜に導入するキャラクターの名前+_face.pngという画像を入れておきます。参考になれば。
0494名前は開発中のものです。
垢版 |
2023/09/10(日) 23:20:59.37ID:HxjwxKxO
anim spawn
delay 9
offset 27 112
frame data/chars/cvsyoko/395.gif
@cmd equipupdate getentityproperty(getlocalvar("self") "playerindex")
offset 41 103
frame data/chars/cvsyoko/396.gif


anim death
delay 9
delay 60
offset 47 21
frame data/chars/cvsyoko/165.gif
@cmd changeopenborvariant "slowmotion" 0
@cmd changeentityproperty getlocalvar("self") "health" 999
@cmd jumptobranch "branch_map" 1
frame data/chars/cvsyoko/165.gif

こんな感じです。
data/scripts/speech/〜に導入するキャラクターの名前+_face.pngは、Hisuiなら Hisui_face.png といったところ。
0495名前は開発中のものです。
垢版 |
2023/09/10(日) 23:23:55.39ID:HxjwxKxO
weapons MapKazuya KazuyaSafe

animationscript data/scripts/scripts.c
onspawnscript data/scripts/player/onspawn.c
ondrawscript data/scripts/shadowon.c
ondeathscript data/scripts/player/ondeath.c
ondoattackscript data/scripts/ondoattack.c

キャラのヘッダーにこれらも記載しないとです。
0496名前は開発中のものです。
垢版 |
2023/09/14(木) 21:20:58.87ID:W5QIGiJ6
レベルアップシステム面白いですね。ステータスがアップするだけではなく、技も変わるともっと面白くなりそうですが難しいですか?
0497名前は開発中のものです。
垢版 |
2023/09/16(土) 04:15:39.68ID:vepgfV/D
少し前に坂道(Slope)を表現できないか?と話題に上がっていたので、簡単に作って動画に上げました。
見ていただけると分かりますが、そのまんまです。分かり易いように2Dステージになっています。

>>496 さん
難しく考えずに、Anim に@ScriptでHPやMPの上限で別なAnimに飛ぶようにすればOKだと思います。

@script
if(frame==0) {
void self = getlocalvar("self");
if( getentityproperty(self,"health") >= (getentityproperty(self,"maxhealth")/5) ) {
executeanimation(self, openborconstant("ANI_Special"));
} }
@end_script

これはHealthが20%切るまで通常のSpecialが実行されるというもの。
このTekkenTDR Demoのシステムでは、MaxHPやMaxMPが増えていることを条件に別なAnimを実行させれば
技の分岐条件も簡単に設定できると思います。
0498ROSE&JASMIN様に感激記念
垢版 |
2023/09/16(土) 19:56:51.33ID:kDDs5l2M
Go.ogleは、ほんと使えないね
以前は、こんなページもあったのに
tadaup.jp/1619514043.jpeg
openborの日本語のページも消えて
何もかも消えて情報操作されて知らないうちに
少しずつGo.ogle←こういうのに
洗脳されていくんだねっ
0500名前は開発中のものです。
垢版 |
2023/10/01(日) 02:55:25.04ID:ULBqh4r5
動画はNPCのSubType Followの実験です。
NPC側のAnim IdleのRange設定でプレイヤーをフォローしてくれます。

2Dステージの実験もしてるんですが、結構画面が狭く感じるものですね。
MUGENのD4サイズキャラを縮小して使用してみましたが、潰れがひどくて。
綺麗に縮小できるソフトを探してます。
0501名前は開発中のものです。
垢版 |
2023/10/05(木) 11:45:46.57ID:gOKzcC12
edge129で
3×3
□□□
□□□
□□□
こうじゃなくて

edge129で
2×2
1×2
2×1
1×1
____
||
------+-|
 ̄ ̄ ̄ ̄
5ちゃんねるのAAは おおきくズレる
パーツごとに縮小するしかないのでは
0502名前は開発中のものです。
垢版 |
2023/10/05(木) 12:03:29.87ID:gOKzcC12
イメージ
tadaup.jp/0512003686.jpeg
0503名前は開発中のものです。
垢版 |
2023/10/06(金) 02:04:29.90ID:bt3hcWO+
やはり一個一個丁寧にですよね。まあ元より50%も小さくしようというのが無茶なんで。
XnViewでも結構きれいに縮小できそうなので、あとはDrawmethod Scaleで微調整しつつやってみようかと思います。

ワンピ、ドラボ、ユーギオなど色々なMODを開発されてた Betterbold氏お元気なのでしょうか?
別なEngineに行ってしまわれたんですかね。OpenBoRくらい気軽にいじれるEngineも中々ないと思うんで
もっとモッダーさんが増えてくれると良いのですが。
0504名前は開発中のものです。
垢版 |
2023/10/08(日) 11:30:20.94ID:qbmCcrj4
MUGENのキャラが使えると聞いて調べたんですが、なんとかCSVファイルで出力するというところまで来ました。中身を見るとoffsetの情報など必要なデータが見つけたんですが、これらを抽出する方法が分かりません。表計算ソフトなどで抽出してるんでしょうか?専用のツールなどあるのでしょうか?よろしくお願いします。
0505名前は開発中のものです。
垢版 |
2023/10/11(水) 22:08:22.45ID:OWT2uqg/
OpenBoR Statics というエディターの古いバージョンで出来たはず。どのバージョンだったかは失念。
0506名前は開発中のものです。
垢版 |
2023/10/14(土) 12:58:34.01ID:QjQbC6zV
Chronocrashには無いようです。sourceforgeというサイトにあるものが変換出来るようです。
あとはGithubにソースがアップされてるので、自分でアッセンブルするかでしょうか?
0507名前は開発中のものです。
垢版 |
2023/10/19(木) 00:00:31.11ID:rPM7Eijg
ChronoCrashではお馴染みの天才BLOODBANE氏のBARSHEN BELOW、
コンパクトにまとめながらも中身はテクニックの塊なので、中身を覗くと大変勉強になります。
特に画面内を跳ね回る部分などは、独自の投げによく使われるBindentityの応用で、
画面の端まで移動すると反対に方向転換する透明なキャラ(Entity)を作り。
その透明キャラに捕まえてもらって(Bindentity)、引きずり回してもらうw事により自在に移動するという画期的アイデア。
メインのキャラのIdleやWalkなどを一々いじらなくても画面内をバウンド移動することが可能。
?別に普通にWalkやJumpで良いんじゃ?と思うかもしれませんが、JumpしながらやAttackしながら常に移動できるのです。
アクションのボスやシューティングの敵のように常になにか他の動作をしながら移動することを最小限の手間で実現できるという。
元々のMODは最低限の演出やグラフィックだったので動画では他のMODのグラフィックを移植して派手にしてみました。
アイデアさえあれば応えてくれるポテンシャルを秘めているOpenBoR、この先もずっと楽しめそうです。
0508名前は開発中のものです
垢版 |
2023/10/19(木) 23:35:17.41ID:aX6bkmvr
板の趣旨に反していたら誠に申し訳ありません。
行き着く場所がここしか無くて初カキコさせてもらいます。
openborでザコキャラを創って頂ける方を有償で探しているのですが、この場所にどなたかいらっしゃいませんでしょうか?
自分でも努力しましたが、どうにも既に完成しているキャラをステージへ入れるのが精一杯で一からは作れ無かったのです。
皆さんのポリシーに反しているなら、諦める所存です……
0509名前は開発中のものです。
垢版 |
2023/10/21(土) 12:09:15.11ID:fP9sDA2A
スレ主ではないので何とも言えませんが、有償だとクオリティや納期の問題などありそうなので、例えばアップローダーを借りてもらって材料を提供し、ここで要望やお題等を提示、皆さんに作成やアレンジを募るというのはどうででょう。
0510名前は開発中のものです。
垢版 |
2023/10/21(土) 15:30:53.13ID:D76jcEPR
おおっ!?
岩本三四郎先生
レクイエム→カラーズパーティー
ノレパン一味
MMDVTuber
密会緋萃伝実写
驚愕再来か!?
(こんなことを言って本人たちにバレたらこの世から消される)
0511餅を食え餅を
垢版 |
2023/10/21(土) 16:24:19.69ID:D76jcEPR
鉛筆で描いて写真撮って
G・こんばーちゃでgif化して
妖幻灯記みたいにしたら面白そう
0512名前は開発中のものです
垢版 |
2023/10/21(土) 19:48:36.55ID:/WwezNXn
<0509さん
アドバイスありがとうございます。自分でももっと色々考えてみます
0513名前は開発中のものです。
垢版 |
2023/10/22(日) 03:57:49.80ID:PJFsMJGD
他のMODから移植はできるのなら、OpenBoR StatsやChronoCrash ModdersToolがあればアレンジを加えることは簡単だと思います。
双方ともWindows10での基本的な動作は確認できてます(一部エラー落ちしますが、こまめにセーブしてれば大丈夫)。
MUGEN用のエディタ、SAEやFightersFactory等もあると便利ですよ(絵を登録してアニメーションさせるとき便利)。
位置関係(offset)や攻撃範囲、被弾範囲などは上記ツールが無いとやってられませんw
〜な感じのキャラ作りたいけどジャンプさせたら攻撃出せずに着地しちゃった。的に少し具体的に質問したら答えてくれる方もいらっしゃると思います。
一対一の対戦格闘ゲームみたいに厳密に作らなくても、それっぽく動いてればOKだと思うので、気楽に作ってゆきましょう。
0514名前は開発中のものです。
垢版 |
2023/10/23(月) 02:25:25.65ID:XfCjZjWd
他人様の2Dシューティングを覗いていたら楽しくなってしまって、
グラを差し替えたり、攻撃パターンを変更したりしてたらゴチャゴチャと汚くなってしまいましたとさ。
やはりセンスがないと只ダラダラと垂れ流すだけになってしまいます。メリハリの大切さ。
0515名前は開発中のものです。
垢版 |
2023/10/24(火) 23:37:49.28ID:qHqfdYZs
敵側に経験値やレベルアップを指定できませんか?経験値→(感情値)上がってイベント発生やりたいです
0516名前は開発中のものです。
垢版 |
2023/10/27(金) 14:03:09.98ID:/XzAH1d2
ある数値(フラグ)でイベント発生はいくつか方法が考えられますが、単純なのは setglobalvar("EnemyExp",3)のように自分で好きな名前(EnemyExp)を付け、値(3)をセット(setglobalvar)して
必要な時に getglobalvar("EnemyExp") で内容を呼び出す(getglobalvar)と今回の例では”3”が返されます。
これを利用して if (getglobalvar("EnemyExp")==3) { jumptobranchi("EventMap",1); } このような感じで好きなマップに飛ばしたり。
いつもとは違う敵をspawnさせたり。条件によりを分岐を設定することができます。
spawn iroha
flip 1
health 100
aggression 60
@script
void main()
{
void self = getlocalvar("self");
changeentityproperty(self, "TYPE", openborconstant("type_NPC"));
changeentityproperty(self, "Hostile", openborconstant("type_ENEMY"));
changeentityproperty(self, "Candamage", openborconstant("type_ENEMY"));
performattack(self, openborconstant("ANI_Attack4"));
tossentity(self, 3, -2, 0);
}
@end_script
map 1
coords -100 200
at 180

これはレベル.txt 中に@Scriptを記述し、元々敵(type_enemy)ステータスをNPCに変えて攻撃目標やダメージを与える対象を
変更した後、アタック4の動作(performattack)をさせながらゲーム内に飛び込む(tossentity)させています。
healthやaggressionなどは特に@Scriptを使わなくても直接記述で変更できます。
0517名前は開発中のものです。
垢版 |
2023/10/28(土) 06:11:44.34ID:zy56uO4y
フラグの管理については上記(globalvarやentityvarなど)も含め幾つかの選択肢があります。
他にも、プレイヤーのheightやaggressionはあまり使わないステータスなので、それを逆に利用して

changeentityproperty(getlocalvar("self"), "aggression", 60);
int Code = getentityproperty(getlocalvar("self"),"aggression");
if(Code==50) { 特別なイベントlなどの処理 }

たとえば上のように特定の敵を倒したらプレイヤーのaggressionを変更して、
ステージ(Level)の途中でaggressionが一定以上ならイベントの発生のフラグといて利用する事もできます。
敵のステータスは出現したり倒されて消滅(値のクリア)したりが頻繁に起るので、
フラグとしては使いにくくglobalvarやentityvarなどで管理した方が良いかと思います。

プレイヤーはゲームオーバーにならなければ基本常に存在するので、利用頻度の少ないステータスはフラグとしても使えるという例。
0519名前は開発中のものです。
垢版 |
2023/11/08(水) 17:10:33.65ID:sPBuqpr2
今さらですが、Tiled というマップ作成ソフトが便利すぎ。
2Dゲームを作ってみようかと挑戦してますが、中々難しい、敵をある程度付かず離れずのようにしないと団子にw
空中に足場を作ってcheckwallなんかで確認させて上手くジャンプさせたり、意外に手間だだったりします。
一定のパターンで動き回る奴を織り混ぜたり、結構な種類の敵を作らないとです。
0520名前は開発中のものです。
垢版 |
2023/11/09(木) 12:57:26.16ID:kE73dvo0
levels/stage.txtに
同じ縦の位置に足場を置けませんか?
charsと頭がぶつかるのはなしでお願いします
0521名前は開発中のものです。
垢版 |
2023/11/10(金) 13:30:00.50ID:oQEiwzju
足場が”subject_to_gravity 0”や"antigravity 100"になっていれば空中に浮くので、spawn {x} {z} {y}の{y}高さを調整するだけです。

が、頭をぶつけるという事は、キャラクターが足場に引っかかったりしてしまうという事でしょうか。
先ずは何故、キャラクターが足場に頭をぶつけるか、これは設定の height {int}が原因でこれはキャラクターの高さを仮に設定しています。
確か初期値は60位でoffsetの位置から60ドットの高さで足場(platform)に引っ掛かります。こんなんイラネーと思ったら、
”nohithead 0”とすることで一切引っかからなくなります。足場に乗ること自体はできます。

質問者さんは、たぶんジャンプして上昇中は足場をすり抜けて、着地の際は足場に乗りたいのではないかと想像します。
足場(platform)に乗れるかどうかは”subject_to_platform {bi}”で設定し、1で乗り、0で影響なしとなります。
なので、例えば"jumpheight 6"など高めに設定して、anim jumpの最初の frame で
@cmd changeentityproperty getlocalvar("self") "subject_to_platform" 0
と記入して、足場(platform)の影響をなくし
ジャンプが下降するタイミングで
@cmd changeentityproperty getlocalvar("self") "subject_to_platform" 1
としてと記入して、platformの影響を戻せば足場に着地します。
また応用として、下+ジャンプボタンで anim slide が実行されますが、ここでも"subject_to_platform" 0を使えば
下に降りられる訳です。(anim jump)も(anim slide)別に(anim freespecial)を使っても構いません。
0522名前は開発中のものです。
垢版 |
2023/11/15(水) 01:57:18.63ID:wDAw0PZ4
"nohithead", "animheight" など便利そうなコマンドはありますが、どうも不安定なようなので

@cmd で "subject_to_platform" を操作した方が確実なようですね。
0523名前は開発中のものです。
垢版 |
2023/11/18(土) 16:20:25.10ID:lj5sYLww
プログラムあるあるで聞かれる「なんの効果も無いはずなのに消すとバグるから放置」
今私が弄ってるキャラの一つもそれがあり 他のキャラクターは全てoffにしてる gfxhadow をそのキャラに限って
1 以外に設定するとOpenBoRが丸ごと落ちて何故かエラーログにも原因が記録されないという

たぶんどっかに得体のしれない文字コードが紛れ込んでる(稀に良くある)からだと思うんですけどね
すっかり肌寒い季節になりました。皆様もご自愛ください。
0524名前は開発中のものです。
垢版 |
2023/11/18(土) 16:24:13.01ID:lj5sYLww
gfxhadow → ×
gfxshadow です。

entity(キャラ)のヘッダーの記述の順番で効果が出たり出なかったりすること意外と多いです。
0525名前は開発中のものです。
垢版 |
2023/11/19(日) 04:13:58.35ID:8uJbot/L
Type Trap のテスト動画
2Dゲームの宿命か、画面下に敵が溜まってしまうので障害物とリフトと壊れる床、一定数の敵撃破でボムが炸裂、ランダムに噴出する炎
透明から反応して炸裂する地雷、とりあえずHDDに入ってたモンスターなどなど適当にぶちまけたので画面が非常に五月蠅いですが
画面モードは640x480なんですがとても狭く感じます。さらにトラップや敵を増やす方向でゆくなら800x480でも良いくらいですね。
0526名前は開発中のものです。
垢版 |
2023/11/26(日) 04:09:45.03ID:YPBtZh8k
移動する床は中々調整が難しいですが、出現させた場所(openborvariant("xpos")など)から移動させたい範囲を
指定してやればいい感じ。
sin(getentityproperty(self,"animpos")*18) とかやって、Frameを20個用意すれば360なので
まあまあ綺麗に動くんですが、無理に使わなくても大丈夫そうです。
しかし、nomove 1 1としたり、subject_to_platform 0, subject_to_wall 0, subject_to_gravity 0
などなど各種要素を影響無しにしてるのに、ぶっ飛んでったりするのは謎。指定する順番があるのかな?
0527名前は開発中のものです。
垢版 |
2023/11/26(日) 04:25:26.24ID:YPBtZh8k
上でopenborvariant("xpos")を保持しておいて範囲を指定というのは、
@script
void self = getlocalvar("self");
if(frame==0) { setentityvar(self,"HPos",openborvariant("xpos"));
} else {
float HPosition = getentityvar(self,"HPos");
~
@end_script
loop 1 1

こんな感じにフレーム0で初期位置を設定して、loop 1 1(1フレーム目から繰り返し)を
利用して以降必要な時にホームポジションとして初期位置を呼び出し
if (HPosition +300 <= 現在位置) { 移動を反転 } て感じに範囲を決めてあげれば良い訳です。
上にも少し書きましたが関数 sin() cos() 使えば -1, 0, 1を行ったり来たりするんで便利(受け売り)なんですけど数学は苦手の極。
ラジアン?...タイヤ?って感じです。
0528名前は開発中のものです。
垢版 |
2024/03/29(金) 01:53:22.62ID:OrnNM7tr
画像データは用意出来ているのですが、それをopenbor用に敵キャラとして創って頂ける方を募集します。
どなたかいらっしゃらないでしょうか?
0529448 487
垢版 |
2024/04/01(月) 22:48:18.53ID:Z+AjGCOd
C言語を使わないパターンを考えて3年

なんでも募集 募集マン様?
各キャラクターモーションの場合は
ROSE&JASMIN様が戻ってこないと C言語が使えないから 無理っぽいです

ロゴ タイトル シーン Howtoチュートリアル
ゲームオーバー エンディングはGIMPで加工 (giam209)では配色が壊れる

wolf 格ツク MUGEN画像→openborに画像加工可能、画像のサイズが変えられない

levels/stage.txtに 同じ縦の位置
20 1900 60
20 1900 120
20 1900 180
に足場を置けずに作るのを投げてしまいました
0531名前は開発中のものです。
垢版 |
2024/04/12(金) 18:45:48.69ID:n4qpM60R
唯一の救世主ROSE&JASMIN様もいなくなっちゃったしプレイ専門に戻りますかね...
Thank you
424が言うには1日本語サイトの人様
Sorry.This URL has been excluded from the Wayback Machine.なにこれ?
ROSE&JASMIN様
gikotakurpg(kt住江)様
すから(アイマスP)様
コウ様
betterbold様
ちんちら様
くりまみ様
お前はもう死んでいる様
おさんぽさわやか様
他過去の活動の痕跡や記憶を探してみたけど
黒いダルシムがヨガテレポートって言いながら大暴れとかほとんどの人が見つからない
0532名前は開発中のものです。
垢版 |
2024/04/14(日) 15:28:59.92ID:iBhq05Jf
>>528
面白そうですね。どこか素材や試作品などをアップする場所はありますか?単純に打撃とジャンプ攻撃だけするような敵なら簡単にできそうですが。
0533名前は開発中のものです。
垢版 |
2024/04/15(月) 02:07:45.68ID:xWlx2vud
何を作りたいのか消極的すぎて伝わらないですが...
MUGEN格ゲーベースか
一般的に道が平坦なベルトアクションか
もしも下記載のようなよくあるアクションであれば戻っても進行度が増えるのでオブジェクトと敵を開始直後に全て出現させないといけない
するとエラーを避けるために必然的に寂しくなりがち
各特徴を完成から逆算式に考えないと行き詰まるよね

再現不可能?
マリオ独特な動きと多すぎるオブジェクト 金網 ツルつた はしご 強制スクロール
ロックマン独特なステージのスクロール
カービィ複雑な動きと多すぎるプレイヤーと敵の変化
ドラキュラ複雑すぎるステージマップ 壁 天井
ゼルダ2D細かすぎる仕掛け
0534名前は開発中のものです。
垢版 |
2024/04/15(月) 11:57:17.08ID:1F+kSl05
大丈夫ですよ。
まだ終わってないと思います。
tubeなど見てると新作が発表されてますし。
知り合いに聞いたところでは、Pongsuke氏は
貰ったXB○Xのサブスクにハマってるそうですw
05357月7日に理不尽にアク禁食らった人
垢版 |
2024/04/17(水) 14:33:02.59ID:kpAOUYyf
7月7日に理不尽にログアウト後も永久アク禁食らった人
英文コミュニティと@ScriptやC言語は無理ChronocrashやDiscordも嫌い
日本人なら5ちゃんねるここに来てほしい
相澤ヤスヒラ様の活動を見つけた
七夕アク禁人の活動は
媚薬を漬けるために(仮)身体をこすりつけたり押しあてたり悪戯するためにも
スリスリしたりします。いずれにしても拘束系の攻撃が多い。
空中で拘束する時は掴めないのでプレイヤー側に追加モーションと一時的にantigravity加えてます
0536528
垢版 |
2024/04/18(木) 20:01:24.95ID:9v7oZY+b
>>532
upろだを使えば簡単に用意できそうですが、もし個人間でのやりとりの方が良ければそちらの方でも大丈夫です(例:twitterのdmのファイル送信機能とか)
作りたいのは、bor系の格ゲー改変スクロールですね。くにおくんとかの特殊なやつではなくて、kof系のオーソドックスなやつです。

>>535 様は何が言いたいのか伝わりません……どういう事でしょう?
0537sage
垢版 |
2024/04/19(金) 02:07:01.87ID:Qq5LzTXU
七夕アク禁人です
アク禁のことなら
海外コミュニティでは階級制度が多く権限がない場合は
情報を伏せて隠したら
警告する
情報を開示したら
警告する
情報提供も交換もダメ
となり運が悪い(コミュ向いてない)と
バンプするな(ageるな)リンク乞食。階級最低投稿数未満で永久ban
(アカウント永久banプロバイダーban)となる

twitter他 discordは端末が弾かれてログインできない
本気で自分一人でopenbor活動していればいずれわかります

日本人にここに来て簡単な方のプログラムcameraType等々のちゃんとした使い方を余すことなく教えてほしいです
これ見たけれど全然わかんない
http://gist.github.com/Plombo/7df6b03c9ce48797512e

後半の七夕アク禁人のベルトアクション作成の活動は、について
392様の発言が性的マイノリティやフェチっぽかったので便乗して言ってみただけです
0538相澤ヤスヒラ
垢版 |
2024/04/25(木) 19:13:14.62ID:9Nb5YE8x
528及び536です。一度だけコテハンを使わせて下さい。
相澤ヤスヒラと申します。もし協力して下さる方がいらっしゃったら、私のtwitterのDMかピクシブのメッセージまで連絡を下さい。
0542名前は開発中のものです。
垢版 |
2024/04/30(火) 12:18:02.20ID:H+j+Xwq1
>>528
FightersFactoryというmugenのキャラクター作成編集ソフトはご存じですか?
KoF系キャラを作るならmugenから移植するのが手っ取り早いので、上記ソフト(フリー)をつかって
必要なアニメファイルを抜き出して、ChronoCrashModdersToolで調整するのが簡単ですよ。
0543七夕アク禁人
垢版 |
2024/05/01(水) 10:24:09.86ID:PZTy230q
542先生へ
相澤ヤスヒラ様は
私の持っているビギナーズ初心者知識や作成編集ソフト
http://pc-news.ldblog.jp/archives/51594571.html
このスレッドの全ての基本的な技術は
既に会得しているように見えます
ChronoCrashで活動もしていて
私よりも良いプログラムを知っているでしょう

私はPSP用openbor活動なので
上限4000ピクセルと@ScriptやC言語の制限を受けます
0544相澤ヤスヒラ
垢版 |
2024/05/01(水) 16:15:45.29ID:yNzwlSYK
お返事ありがとうございます。できる限り自分で何とかしようとは思っています
0546名前は開発中のものです。
垢版 |
2024/05/02(木) 10:09:40.97ID:LOgO3FeE
>>537
各種コマンド、内部パラメーターや正式な動作に関してはopenbor wikiのLegacy Manualとエラーの際に出力されるテキストから辿って調査するしかないのがもどかしいですね。
android版やpsp版だとメモリーなど制限も多いのかな?キャラクターやステージを増やすと100Mbとかすぐ超えてしまいますよね。
0547名前は開発中のものです。
垢版 |
2024/05/02(木) 13:53:48.35ID:93iFH8hz
ChronoCrashといえば、O'Z Gamesさんのテンプレートがアップされてましたよ。
水に入った際の波紋とステージ演出デモの2種類なので解析して流用するもの楽だと思います。
0548名前は開発中のものです。
垢版 |
2024/05/04(土) 23:18:28.93ID:bZphPzhk
あのちゃんやコレみたいに
www.youtube.com/watch?app=desktop&v=oN_UxU05yo0
ボクはボクはあぁーみたいなものが
テレビでよく見かけるようになったからエロゲリョナゲトランスジェンダーゲームを
思いついてしまったではないか
というわけで
憲磨呂の顔だけショタキャラにデザインチェンジを希望します
声はハルくんに吹き替え
0549名前は開発中のものです。
垢版 |
2024/05/05(日) 06:35:16.24ID:Duz8uNhJ
ふと、何気なく欲しいゲームを探してたら
(くにおくん)メルカリで偽物?を見つけて
もしやと思ったら壮絶に見てはいけないものを見てしまった
www.romhacking.net/hacks/4179/
これは、もしかしたら
失われたPCゲームの知名度が低いみんなの知らない敵雑魚を量産できるかもしれない
www.romhacking.net/hacks/4217/
0550名前は開発中のものです。
垢版 |
2024/05/06(月) 14:04:14.54ID:5DmvrwMH
NES SNES GENESIS(MEGADRIVE) の頃は8x8ドットのチップを組み合わせてキャラを作っていたので、ROMからのコンバートは1からキャラクターを作る位大変なはず。
レスを投稿する


ニューススポーツなんでも実況