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

337:名前は開発中のものです。
22/04/26 01:26:17.09 tRI20Ut9.net
>>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が残っていた場合、プレイヤーまで引き寄せ再度攻撃するというもの
「鞭」を装備したキャラを想定した攻撃なので素手では変な見た目になりますね。

338:名前は開発中のものです。
22/04/26 01:47:14.17 tRI20Ut9.net
>>337
最後の追撃ですが、
FindTarget や Opponent、 Grabbing(Grabbed)で選んだ対象が
ANI_Fall で A=Base のType Enemyだった場合、
そしてプレイヤーの攻撃範囲であったら
スクリプト SlamStart して地面を蹴りつける動作でダメージを与えるというものを
作ったのですが、ちょっと見た目的に結構エグかったので削除。
まあそれまでにナグるわケるは好き放題にしてたくせに、何故か引いてしまいました。
別キャラの相手の背後にテレポートしてキりつけるは別にOKなんですが、
人それぞれ結構苦手なシーンがあるかもしれませんね。

339:名前は開発中のものです。
22/04/26 03:20:57.85 tRI20Ut9.net
>>313
Drawmethod Rotate を使った回転について
マニュアルには −45 とすればマイナス方向の45度に回転させられるとあり
実際出来るのですが、画像の欠けが発生し易いようなので
素直に 315と設定したほうが良さそう。
Type Enemy の設定
Anim JumpAttack は
これとRange 設定(0〜100など)だけで自動で前方ジャンプ攻撃を行います。
Anim JumpAttack2 は
同じく Range 設定で 垂直ジャンプ攻撃になります。
Type Enemyも結構いろいろ設定できるので、凝りだすとキリが無さそうです。

340:名前は開発中のものです。
22/04/26 07:34:52 tRI20Ut9.net
こちらがコンボを繰り出していると、たまに敵が無敵技で逃げたり
反撃してきたりしますが、
EscapeHits {#} ここで設定した数値+1連続で攻撃を受けると
Anim Special2 が実行されます。
Falldie # やDeath # を1にしておくと、Health 0 で必ず
Anim Death が実行されるので、フラグや演出にも使えそう。
Walk Idle Pain Fall Riseなどの各Anim はほぼ必須な Animなので
通常の利用だけでなく、必ず実行される特性を利用した演出や
フラグの処理などに。ヘッダーで NoMoveを設定しておくと移動しなくなるので
こちらも便利に使えそう。

341:名前は開発中のものです。
22/04/28 01:47:31.28 k34JWO6S.net
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などにも記述しておきます。

342:名前は開発中のものです。
22/04/28 01:51:47.77 k34JWO6S.net
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 キャラの調整って難しい。

343:名前は開発中のものです。
22/04/28 02:03:08.09 k34JWO6S.net
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をコテンパンにするのもあり。

344:名前は開発中のものです。
22/04/28 02:14:43.42 k34JWO6S.net
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内の)が「設定した時間を超えたら
何かする」というような使い方ができます。

345:名前は開発中のものです。
22/04/28 02:24:25.39 k34JWO6S.net
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

346:名前は開発中のものです。
22/04/28 03:53:19.54 k34JWO6S.net
ステージの設定で
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 も使えば、かなり様々なことができそうです。

347:名前は開発中のものです。
22/04/30 01:52:33.20 rxj78wqY.net
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

348:名前は開発中のものです。
22/04/30 01:53:21.89 rxj78wqY.net
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

349:名前は開発中のものです。
22/04/30 02:15:26.77 rxj78wqY.net
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ドットとか)を取得できる手段がありましたら
ご教授ください。宜しくお願いいたします。

350:名前は開発中のものです。
22/04/30 02:33:43.50 rxj78wqY.net
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

351:名前は開発中のものです。
22/04/30 02:47:59.07 rxj78wqY.net
>>301 さんのレスから
そんなに難しい事なんかないよ!と言いたくて、
すこしスクリプトを書いてみましたが、ポンコツな私の能力では
結局こんなんなっちゃって、もうなんと申したら良いかって感じです。
やりたいことは
HPが一定数減ったか?
HPが減った状態から回復したか?
強力な必殺技を一定数使ったか?
だけなんで、内容はシンプル。ただ、関連するAnimが他に
Anim Faint、Anim Fall、Anim Pain、Anim Rise
少なくとも4つあるので、記述そのものはコピペでOKとはいえ面倒だなーと思いました。
手前味噌ですが、やってみたら意外とアクセントになって良かったかも?
という感想です。

352:名前は開発中のものです。
22/05/07 01:55:26 NmRbFI7S.net
スクリプトで 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に移行したりします。

353:名前は開発中のものです。
22/05/07 02:01:51 NmRbFI7S.net
上の閉じたLoopでも
BBoxで喰らい判定や、Attackコマンドと付随するFollowコマンドがあれば
別なAnimに移行できます。
なので、あえて閉じたLoopを使って、チャージの真似事をさせたり
CancelでA2ボタンを押すたび別なFreeSpecialに跳んで、A2を押した数だけ
べつな技を出す。なんてことが可能になります。
もちろん別な方の受け売りですが、Loopひとつで技のヴァリエーションが
増えるのはなかなか便利です。

354:名前は開発中のものです。
22/05/10 06:46:43.73 ANAGzemE.net
Jenniferで思ったけれど
ゴオン・リーラ・ディ・ディオとか
グリズリーコークスクリューマグナム
みたいな巨大すぎる手だけの背景技が作りたいのと
バットルサーキットみたいにショップに入れたりしたら面白いのにね

355:名前は開発中のものです。
22/05/11 03:15:52.16 5CHTfmx4.net
背景技に関してはどこまで凝るかによりますが
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が装備品としてプレイヤーのステータスをアップする
スクリプトを組んでいたような?

356:名前は開発中のものです。
22/05/12 03:20:11.72 4lLWq45r.net
PlayAnim(うろ覚え) => X
Animation data/scenes/scene.gif 0 0 こちらが正しい表記 最後の 0 0 はXY座標
このコマンドでGIFアニメを再生できます。主にDEMOシーンなどに使います。
インゲーム中は普通に{Entity}を作ったほうが早そうです。

357:名前は開発中のものです。
22/05/14 02:02:26.01 3oAON5YM.net
動画で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 を専ら使っています。

358:名前は開発中のものです。
22/05/14 02:07:27 3oAON5YM.net
動画の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を使えばもっと単純にできますね。

359:名前は開発中のものです。
22/05/14 02:32:09.60 3oAON5YM.net
以前にも紹介しましたが
@cmd clearspawnentry();setspawnentry "name" "test"
@cmd bindentity spawn() getlocalvar("self") 60 1 40 1 0 1
こんな感じでたった2行でBindEntityが使えるので、
キャラクターと一緒に移動するエフェクトを表示したい場合などに便利です。

360:名前は開発中のものです。
22/05/14 02:37:55.00 3oAON5YM.net
SpawnFrameと同様の動作をする
spawn(); ですがこの場合は座標の補正や向きなども指定しないとならないので
@ScriptやScriptsで定義したほうが使い勝手が良くなります。

361:名前は開発中のものです。
22/05/14 03:25:29.49 oWC+YZhm.net
テラワロス
syodai.g3.xrea.com/ura/patch.htm
どうせならいつでもメニューを開けるようにできればPCゲームに負けないインパクトを出せそう

362:名前は開発中のものです。
22/05/14 14:26:04.17 3oAON5YM.net
ポーズメニューで難易度や同士討ちの設定など出来るようになってるのが
ベア・ナックルX{#}で大元はChronoCrashでお馴染みクラタス氏だったような?
tekken何とかdemoやknights and dragonsの何作目だったかポーズメニューで
装備品を切り替えてプレイヤーの攻撃や防御を変化させてたような?
メニュー作りの基礎はRocketViper2やTMNTの何作目だったかBonus氏のMODが参考になるかと

363:名前は開発中のものです。
22/05/14 23:56:15.60 3oAON5YM.net
RVGM set OprnBOR PACK
Open BoR Game Club
この辺で検索するとメージャーなMODがリンクと共に紹介されています。
それぞれモッダーさんによって標準コマンドのみであったり
そこまでスクリプト使わなくてもって感じに作成されています。
興味を持ったMODをアンパックしてDATAの中身を覗いてみれば
自分が作りたいMODの良いヒントが見つかるんじゃないでしょうか。

364:名前は開発中のものです。
22/05/15 11:25:46.85 pXw15ZHa.net
もうすぐこの文章も消えますので保管します
古いリスト一覧表
(閲覧できるだけ)
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 不足分?

365:名前は開発中のものです。
22/05/15 11:44:51.33 pXw15ZHa.net
もうすぐこの文章も消えますので保管します2
www.afeidj . com /tag/openbor/
(空欄3個)
パス afeidanji

366:名前は開発中のものです。
22/05/18 01:21:30.91 2bJvsfcm.net
ツールなども開発しているクラタス氏
スクリプトを覗かせていただくと、最近のものはDeffine などを駆使して
省略形を使ったりしてちょっと癖が強いので、
すこし前のSoR2XMegaMixあたりだと読みやすくとても勉強になります。
getentityproperty(self,"animhits") こういった Propertyの使い方なども
とても参考になります。

367:名前は開発中のものです。
22/05/18 01:29:14.80 2bJvsfcm.net
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 扱いになるのかな?などと色々実験してゆくうちに
夜が明ける感じです。

368:名前は開発中のものです。
22/05/22 22:22:15.61 VlDnYkVW.net
保管させてください
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

369:名前は開発中のものです。
22/05/22 22:35:25.61 VlDnYkVW.net
寝ぼけてすごく間違えちゃった

370:名前は開発中のものです。
22/06/01 02:50:36.94 JmmaEfzE.net
くにおくんLAが流行のExtraMenuも導入されて、Ver3.1.6になってますね。
海外の くにおくん人気は凄まじいものがありますが、やはり元が良いからでしょうか。

371:名前は開発中のものです。
22/06/02 00:15:15.40 Jne9s08k.net
ハイスクルーのやんちゃな男女が大暴れっていう、
くにおくんの系譜は現役で作られているようですね。

372:名前は開発中のものです。
22/06/02 00:42:54.95 Jne9s08k.net
>>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

373:名前は開発中のものです。
22/06/03 02:24:03.03 9BJR8uXf.net
何度目になったか、もう数えてませんが
くにおくんLA 最後まで遊ばせていただきました。
kt住江 氏の間の取り方、適度な演出、攻撃とHPのバランスの妙
最高ですね。Ver3.1.6などのEdit作品も原作リスペクトのアレンジでよいのですが
アンバーちゃん氏の巣穴ページからDLできる初期オリジナルが至高ですね(個人の見解)。

374:名前は開発中のものです。
22/06/03 21:14:08.99 7Ag/1Egm.net
ちゃん氏ワロス
さすが日本人!全てに数字の鍵がかかってるね!

375:名前は開発中のものです。
22/06/03 21:46:04 7Ag/1Egm.net
そして書き込みエラーワロス
mrbdn316.bl
og36.fc2 . com /bl
og-en
try-1186.ht
ml?sp

376:名前は開発中のものです。
22/06/03 22:49:14 9BJR8uXf.net
Pass はDLページの一番上に書いてありますよ?
Edit作品は ChronoCrash にあります(要Login)。

377:名前は開発中のものです。
22/06/04 00:43:37.98 dPRWKu7b.net
#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")
こんな感じにスクリプトで宣言しておく事で

378:名前は開発中のものです。
22/06/04 00:50:34.82 dPRWKu7b.net
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 の中で使います。

379:名前は開発中のものです。
22/06/04 23:36:23.17 /SuZQTlg.net
先生の先生?374?ux.getuploader . com /gikotakurpg/

380:kt住江
22/06/08 04:53:27.40 wI0LZaee.net
皆様、お久しぶりです。
2022年も相変わらず能天気なkt住江です。
ダブルドラゴン番外編やくにおくんLAを遊んでくれた方、本当にありがとうございます。
最近、ようやく新たなOpenBORゲームの開発をスタートしましたので、ほんの少し告知します。
くにおくんの新たなる戦いが、中国は龍海で繰り広げられる!
その名も『熱血硬派くにおくん 中国龍海編』
3〜4か月後の完成を目指しています。僭越ながら宜しくお願いします。

381:名前は開発中のものです。
22/06/09 14:03:20.99 YHYJKkPV.net
うわお、新作超楽しみです。kt住江様のゲームの特徴として、アクション自体の爽快感もありますが、
もうひとつストーリーも毎回楽しみにしています。
DDは主人公達もある意味アウトローとして敵組織の殲滅に注力出来ますが。
くにおくん達はまだ学生、時には同級生も巻き込まれるかもしれないという、主人公の立場から、どんなストーリーが紡がれてゆくのか、とても楽しみです。
特に複雑なストーリーが無くても、挑戦してくる奴は誰でも相手になるぜ!って感じでも、
今から妄想が止まらないです。

382:名前は開発中のものです。
22/06/09 14:06:02.51 YHYJKkPV.net
余談ですが、MikoQも大ファンです。
力まず頑張って下さい。

383:名前は開発中のものです。
22/06/22 17:37:09.48 Q1gUnxNW.net
防御したときに自キャラが一瞬白く光る演出
古いゲームに良くありますが
光らせたいフレームの前に
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 で検索すれば、利用した動画が出てくるかと思います。

384:kt住江
22/06/25 11:05:25.17 UnewVUwO.net
>>381 >>382
ありがとうございます。現在、開発は順調です。
ここで途中経過のマップをご紹介します。
URLリンク(twitter.com)
(deleted an unsolicited ad)

385:名前は開発中のものです。
22/07/06 01:00:17.28 xUxwYeqH.net
おお、こういう背景絵は、32x32ドットみたいな決まったサイズのパーツを組み合わせて
タイルを敷き詰めるように描いて、最終的に一枚の画像として仕上げるのですかね?
写真をペイントソフトで加工して背景にしたりしてますが、なんか浮いてしまって
結局他のMODから流用させていただくばかりです。

386:名前は開発中のものです。
22/07/17 00:24:42.53 WAmJWTWK.net
新作情報は 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できる訳ではないので、もどかしいですね。

387:名前は開発中のものです。
22/07/18 02:47:26.48 tWbUHA9o.net
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などは弄らすに
済ますようにしてバランス設定をすると、おおきな混乱なく調整できるかと思います。

388:名前は開発中のものです。
22/07/24 19:15:52.84 yrPtcXzi.net
コウちゃん消えちゃったね...今年1月-6月分はどんなタイトルがありますか?
(壮絶介護と認知症介護で全く見られなかった...無念です)
2021年12月までは全てあります

389:名前は開発中のものです。
22/07/25 03:26:21.56 R2FHKdS3.net
あ〜私もファンといいながらスペシャルの発表の頃チェックしに行くくらいでした。
1ヶ月くらい前はスペシャルの4デモとか、あと、FF、アナザーガールズ、といった
過去作のリメイク的なものだったかと思います。
どうやら会員制のサイトに登録か、ソーシャルネットの友達にでもならないと今後は絶望のようですね。
勝手に改変されクレジットを偽って無断配布された的なことを書かれていたので、
仕方がないかもしれませんね。もともと法的にグレーゾーンだけど、完全フリーだし良いよね?的な
曖昧さでOpenBoRは成り立っている面もあるので、氏の怒りはもっともではあるものの、
結局、氏のMODもプレイアブルキャラ以外は他者からの流用が殆どなので、
2次創作として有料サイトに登録は自衛としてギリギリの落とし所なのかなと思います。
というか改変に関しては、様々なMODやムゲンから切り張りして私も使ったりしているので、
偉そうな事は一切言えないのでしたw

390:名前は開発中のものです。
22/07/25 12:02:19.45 uTZpI5um.net
2021年後半の作品は、VSゾンビとか妖怪とかエイリアンとの戦いが目立っていたので世界観が??謎すぎると思って??記憶から消えがちだったかも知れません
RAGE (VS人)は18作品
HAZARD (VS異種)は10作品以上と2022年の5作品位かな?
スペシャル3は2021年の夏ごろで
スペシャル4はつべ削除後とかかな?
お返事くださりありがとうございました!

391:名前は開発中のものです。
22/07/25 18:35:12.74 15AbLW26.net
世界観かあ、あまり考えてなかった。
確かにエイリアンとアニメ主人公的なキャラが同時に敵として現れたら変な感じですね。
MODの中には、普段はホラー系の敵で、ゲーム中テレビに閉じ込められて、そのテレビの映像の敵と闘うというように別な世界観を上手くMIXさせていたり。パレットで肌の色を青や緑に替えてゾンビ化してしまった的な感じなものもsりました。
くにおくんのような世界観が固まっている作品はアレンジが難しいでしょうね。

392:名前は開発中のものです。
22/07/26 01:59:53.89 Z0JONnIb.net
Ladies of Rage(Remix) / Anime Mix Chaos / Womens War とか女性の敵からボコボコにされるのを楽しむ系もありますねw

393:名前は開発中のものです。
22/07/26 03:39:33.19 GiffkAeR.net
プロ-ロキsちゃんはもう少しでこのへん行きそうだったのにね
(素晴らしいぞこの力)
tube.com/playlist?list=PL902ACB2B1DD07901
いなくなってしまって誠に残念

394:名前は開発中のものです。
22/07/27 01:52:47.09 YIU6GmYF.net
BonusJZ氏 BlazeRhodon氏などお見かけしなくなって久しい反面、
Kratus氏 BloodBane氏 kt住江氏などなど頑張っていらっしゃる方も多数なので、
まだまだOpenBoRは大丈夫だと思います。

395:名前は開発中のものです。
22/07/27 15:16:34.55 QvRu+w5T.net
次こそは、シェリア ミウ シエル で投剣ガールズか!?
とツッコミ入れようとして
3月後半の0時-6時未明に落としていた
スペシャル4HAZARD (VS異種)あった!

396:名前は開発中のものです。
22/07/27 15:28:43.99 QvRu+w5T.net
2021年春頃に次こそは投剣ガールズか!?と思いつくも結局1回も突っ込んでいない

397:名前は開発中のものです。
22/07/28 01:51:19.28 i5ijIl7+.net
KOU氏のプレイアブルキャラの選定センスは
かなり上手いところを突いていると個人的に思っています。
RAGE編だと、KoFの主人公やそのライバルキャラをブっ飛ばす事になるので、
ある程度残虐でも許容できるHAZARD編に移行したのかも知れませんね。
そうなってくるとDemonSlaga風に派手派手にぶちまけても良いかも。
なんにせよ期待できますね。

398:名前は開発中のものです。
22/07/28 21:34:11.02 8H72i6gQ.net
tales EXNeoBlood2 meltybloood(投剣) XXvsXX→ with! onisengoku
いいね!! (>v<)o!

399:名前は開発中のものです。
22/07/31 02:55:53.36 ZiN6ib1W.net
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 などに設定しても良いですね。

400:名前は開発中のものです。
22/08/01 03:19:56.78 wW6uwh2l.net
キャラクターや演出などの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(垂直ジャンプ攻撃)を使って
罠のような性質にもできるので、あとは想像力次第ですね。

401:名前は開発中のものです。
22/08/04 01:57:45.95 MsMljLu8.net
>>372 で ComboStyle 1 の ATChain と Range を調整する事で
近距離と射撃の混合。
例えば、近距離殴り(1 1 2 3)、遠距離射撃(5 5 5 6)みたいに出来るかも?
の実験結果、遠距離/近距離の切り分けは普通にできますが
遠距離は5,5,5,6、のように綺麗には発動せず。
ただ、まあまあ雰囲気はでるかな?くらいの効果はありました。
実験用動画ではハンドガンとグレネードガンでおなじみのキャラをインポート。
C社のキャラは本当に良く出来ていますね。

402:名前は開発中のものです。
22/08/09 02:25:56.85 JDfy2WDi.net
MOD MixMasters では、敵キャラがプレイヤーキャラより手前に来ると
UpDate / UpDated.C を使って、敵キャラを半透明になるようにしていました。
4〜5体の敵が出てくると、結構プレイヤーと被って見え辛くなるので
上手い処理方法があると良いのですが、なかなか難しい。

403:名前は開発中のものです。
22/08/09 02:37:05.37 JDfy2WDi.net
最初はA2ボタンなどに必殺技として登録していたハンドガンや擲弾銃を
>>401のようにAボタンのコンボで出るようにして
無敵にならないように、間に隙としてリロードを挟むようにしたら
思ったよりストレスw 調整っていろいろ難しいですね。

404:名前は開発中のものです。
22/08/10 01:45:49.65 bGglhmth.net
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のように
コマンド技で掴みというのも面白いかもしれませんね。

405:名前は開発中のものです。
22/08/15 01:00:51.91 lU8v9ZEH.net
スレの趣旨と違ってしまうかもしれませんが、
「〜というMODの〜の表現(必殺技など)はどうやってるの?」的な質問があれば
分かる範囲ですが解説します。
標準コマンドで為しえるのか、スクリプトでないと無理なのか、などなど
情報を共有して行きましょう。
そしていつかはオリジナルMODを作り上げましょう。

406:名前は開発中のものです。
22/08/19 04:45:00.56 MOIk3mud.net
セーラー真空波動拳というものを見たことがありますが数年見つけられずに忘れかけて います
誰かこれをダウンロードできた人はいますか
twitter.com/sailor_beyond/status/1297100443395346432
(deleted an unsolicited ad)

407:名前は開発中のものです。
22/08/20 02:22:24.53 ELyaagM/.net
水夫月に関するものはopenBoRだけでも結構あるので全く分かりません。
SetEntityVar/GetEntityVarを上手く使って敵同士が連携をとる
すばらしいスクリプトのMODがリメイクされている最中なようですが、
同じものかは分かりません。
往々にしてOpenBoRのMODの場合、自分で作ってしまったほうが早い事も多いので
自分式MODを作成して、後に正式リリース版と比べて解釈の差を楽しむのもありです。

408:名前は開発中のものです。
22/08/20 09:09:14.53 b85V74xz.net
Ladies of rage の完成版 (キャラ少ない初期の物)に
v3の ももこ アテナ を全てのステージに追加する方法を詳しく教えてください
お願いします!
(pak展開はできます)

409:名前は開発中のものです。
22/08/20 09:27:34.07 b85V74xz.net
プレイキャラとして
が抜けていました
ロード時 コンティニュー時 も選べるようにしたいです
お願いします!

410:名前は開発中のものです。
22/08/21 01:45:09.25 HGvXapyt.net
>>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なので、キャラクターの移植は簡易です。

411:名前は開発中のものです。
22/08/21 02:13:57.65 HGvXapyt.net
続き
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 などが絡んできたらまた解説します。何かのお役に立てれば幸いです。

412:名前は開発中のものです。
22/08/21 06:42:24.72 Jk6y5MtS.net
ありがとうございます
せっかく面白いアプリのテーマATHENAを作ったのに初音ミクのアクションゲーム onion rage (仮)とPSYCHO SOLDIER X
が非公開で困っていました
たくさんありそうで実際は少ないものですね
お返事くださりありがとうございました!

413:名前は開発中のものです。
22/08/21 07:59:32.24 Jk6y5MtS.net
ATHENAプレイヤー5種類位?少ないです
モーションだけATHENAであってそうではないキャラと言語が英語のグレイスミスは除外
あるいは敵キャラばかりに採用されてます

414:名前は開発中のものです。
22/08/21 17:14:31.20 HGvXapyt.net
>>411 の続き
肝心な事を忘れてました、
Data/Chars/ に キャラクターフォルダをコピーしたし
MODELS.txt にもPathを記述したのに Athenaが出てこないよ?
そんなときは、キャラクターのファイル、アテナなら Athena.txt
このファイルの上のほう(HealthやType Player)があるところに
Secret 1 がないか見てください、あったら #でコメントにするか、削除すれば
最初から使えるようになります。

415:名前は開発中のものです。
22/08/22 01:44:28.79 RGCjwBou.net
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は奥行きへの移動量。

416:名前は開発中のものです。
22/08/23 02:15:45.23 eu39154P.net
>>413
言われてみればOpenBoRでプレイアブルキャラとしてAthenaを採用しているのは、
意外と少ないかもしれません。
スミス氏のキャラは豪快にスプライト数を削除しているので、移植には不向きな面もありますね。
OpenBoR Engineのポテンシャルや昨今のPCパワーから、少々メモリを節約したところで
それほどパフォーマンスに影響するとも思えませんが、それぞれ様々な考え方があると勉強になります。

417:名前は開発中のものです。
22/08/23 19:34:10.32 yVU1cDs2.net
いつも本当に本当にありがとうございます!

418:名前は開発中のものです。
22/08/24 03:38:17.12 ZMrXo7PJ.net
アテナが少ないに触発されて、ムゲン(Chloe氏作)からインポート中。
ただ根本を知らないので、
なんかこう着替え(コスプレ)攻撃を得意とするキャラなの?という感じ。
基本技のみ仕上げたところで断念。
動画ではステージ1クリアまで。まだ被撃判定つけてないので無敵。

419:名前は開発中のものです。
22/08/25 16:15:58.28 WPMDJWrZ.net
つべの動画見ました!完成が楽しみですね!

420:名前は開発中のものです。
22/08/26 00:47:01.71 5AHLYqLV.net
元々全てがひと様の物なので永遠に完成はしないですw
FFactoryで、ただボーっと元の製作者様のスプライトとアニメを見て、
ああきっとこんなキャラなのかな?と勝手に解釈してOpenBoRに移植してます。

421:別の人
[ここ壊れてます] .net
完成イコールキャラフォルダだけをThe MUGENとかに投稿してデータ保管とか

422:名前は開発中のものです。
22/08/27 01:15:34.53 TnfcNmnm.net
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 が短かったり無敵になったりすると
落としてしまいますが、連続技の演出に便利です。

423:名前は開発中のものです。
22/08/29 02:38:09.46 qC23piWD.net
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 を使うと簡単に座標などを保持できるという例でした。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

35日前に更新/359 KB
担当:undef