22/03/23 02:14:49.64 YS0aCHsY.net
spawn ninja
flip 1
map 1
coords -200 200
@script
void main()
{
void self = getlocalvar("self");
performattack(self, openborconstant("ANI_Attack1"));
tossentity(self, 3, 3, 0);
}
@end_script
at 600
こんな感じで記述すると、{Entity}Ninjaが anim Attack1の体勢で
Y(a)3,X3,Z0の勢いで跳び込んできます。
void self = getlocalvar("self");
changeentityproperty(self, "TYPE", openborconstant("type_NPC"));
changeentityproperty(self, "Hostile", openborconstant("type_ENEMY"));
changeentityproperty(self, "Candamage", openborconstant("type_ENEMY"));
こんなのを記述すれば敵をNPCに(逆も)できます。結構便利。
305:名前は開発中のものです。
22/03/23 03:42:34.71 YS0aCHsY.net
意外と知られて無いのかも?
anim attack ではなく、コマンドのattackでattack4と記述して、このattack4が相手にヒットした場合、
ヒットした相手にanim pain4やanim fall4などが存在していれば、
そのanimが優先して実行されます。
スクリプトslamstartなんかは、これを利用して専用ヤラレを表現してるんですね。
attackコマンドには一緒に記述することで、他にも特別な動作をさせるサブコマンドがあるので
DCマニュアルで調べてみると面白いです。
よく使う吹き飛びの距離を変化させるdoropvとか、
forceDirectionとstunを組み合わせると、相手を振り返らせてそのまま硬直させるとか。
306:名前は開発中のものです。
22/03/23 07:46:06.96 YS0aCHsY.net
doropv ミス
dropv Y X Z 高さ 幅 奥行 に吹き飛ばす方向の調整attack コマンドと一緒に使用
面白いのがDOT 多分ダメージオーバータイムの略で、指定したダメージを
一定時間と回数(5ダメージを1秒に1回3秒間など)、ヒットした相手に与える。
OTG オンザグラウンド?anim fall等で地面に倒れている相手にもattackがヒット、
ただし倒れている相手にBBoxを設定する必要があります。
結構沢山の要素が設定できるので、標準コマンドでもかなりの事が出来ますね。
307:名前は開発中のものです。
22/03/24 08:53:50.15 SUDjzvRe.net
DCマニュアルとうのは
>>2 の上段のサイトのことですね。
英語ですが、ディープL先生に訳してもらえば
かなりの情報が得られると思います。
308:名前は開発中のものです。
22/03/24 09:06:51.52 SUDjzvRe.net
最初はスクリプトなど意識せず、初代BoRのモデル設定Txtなどを読んだり、
プレイヤーキャラや敵等のHealthを100から200にするだけでも、かなりバランスが変わるのが分かると思います。
登場キャラや設定も少なめで基本はシッカリしてるので、構造が分かり易くエディットをミスしてバグっても、追いやすいというのもあります。
309:名前は開発中のものです。
22/03/27 01:42:21.92 HrM0WEsM.net
倒れている敵に追撃できないか?
簡単に作る場合は、Anim FreeSpecial などの コマンド Attack にOTGを設定して
置けばよいのですが、喰らう敵側の Anim Fall に BBoxを設定しておかないと
当然のごとく攻撃は当たりません。
通常のAnim Attack に スクリプトで FindTarget して、そこで取得できた敵のX,Y,Z
とプレイヤーのX,Y,Zを比較して、攻撃が届く距離なら コマンド PerformAttack で
ダウン攻撃Animに移行すればよいわけですが、この場合も、
敵側のAnim Fallには BBoxの設定が必要です。
あとは、FindTarget して、距離を測るまでは一緒で、見つけた敵を強引に
スクリプト SlamStart で拾って、あとはよしなに。
もともと1対1の戦闘はそれほど考慮されていないので(それならムゲン)
特定の敵の情報を得るのは FindTarget、Opponent、DamageTaker くらいしか
私は知りませんので、なんとかそれでやりくりしてます。
310:名前は開発中のものです。
22/03/27 01:45:54.18 HrM0WEsM.net
>>307 2じゃ無くて >>7 ですね。
さらにミスって上げてしまいました。ごめんなさい。
311:名前は開発中のものです。
22/03/30 02:10:47.88 jn3q1exc.net
anim idle
@script
void self = getlocalvar("self");
void rflag = getentityvar(self, 1);
if (rflag==NULL()){ setentityvar(self, 1, 0);
} else {
int rotate=getentityvar(self,1);
if(rotate>=360){rotate=0;}
changedrawmethod(self, "reset", 1);
changedrawmethod(self, "rotate", rotate);
changedrawmethod(self, "fliprotate", 1);
rotate+=18;
setentityvar(self, 1, rotate);
}
@end_script
loop 1
delay 2
offset 42 43
attack 0 0 83 86 5 0 1 0 12 12
frame data/chars/spiral/ssword1.gif
これは、射出される弾の1枚の絵を回転させられないかな?と作ったもの
回るには回ったんですが、やはりDrawMethod Rotateの特製か、中心を軸に回転させるのが難しい
無い頭で苦心するより、ペイントソフトで回転する絵を作ったほうが早そうです。
312:名前は開発中のものです。
22/04/07 09:32:24.21 RWamgL6H.net
bindentityの機能にターゲットと同じAnimを実行するというものがありますが
速いdelayやAnimを連続切り替えしたりすると、他のentity(敵とか)に影響が出て描画が遅れたりすることがあるようです。
特に同じAnim内でdrawmethodも使っていると症状が出やすいようです。
レイヤーコマンド使って優先順位付けしたら違ってくるかも?などと考えています。
かなり軽いエンジンなので、あんまり無理させちゃいけないのかも知れません。
313:名前は開発中のものです。
22/04/07 11:11:43.62 V6ejTjoQ.net
>>311 の回転ですが
元絵を余白も含めて縦横比を同じくらいにして
offsetを画像の中心付近にすることで、
結構綺麗に回転します。
飛翔体などならそんなに違和感ないですね。
コツが分かってくると、スピンアタック系や
ジャンプ中の前転などそれなりに使えそう。
314:名前は開発中のものです。
22/04/07 21:23:18.45 RWamgL6H.net
drawmethod rotate #とfliprotate 1はよく使ってます。
前者は好きな角度に回転させるのと、後者は対象のentiryの向きに合わせて
自動で反転してくれるというもの。
shiftx #にも自動反転があればもっと便利になるのですが、
中々難しいものです。
315:名前は開発中のものです。
22/04/08 01:33:24.24 W27/nC7P.net
>>304 のChangeEntityPropertyでTypeやHostileを変更するを利用して
キャラ(Entity)がKnockdownCountで転ぶ(Fall)度に
敵になったり味方になったり変わる様にしたんですが、ChangeDrawmethodなどで
色も変えないと混乱の元なので却下。
動画では、一部の敵を倒すと一定時間NPCが出現するようにしましたが、このほうが分かり易いですね。
Stage2では敵を倒すとどんどん増援が来るようにしたはずが、レベル設定のGroup{Min}{Max}の
影響も受けるようで、そんなに敵だらけになるようなことはありませんでした。
Stage1のようにEnemyポータル方式のほうがメリハリがついて良いかもしれません。
テストとはいえ、コンセプトや世界観なしで適当に登録してある敵をただ順番に出現させているだけなので
ゲーム性は全く無いですね。ステージもTGS4からの流用です。オリジナルを作れる日はいつの事やらw
tu.be/k1-ss0M1Klc
316:名前は開発中のものです。
22/04/09 02:45:15.79 huMt1Pej.net
>>302 にてlocalvar と globalvar について軽く触れていますが、もう一つ
EntityVar もあり、setEntityvar({entity},{index},{var}) 的につかいます。
EX. SetEntityVar(Self, 1, 999)GetEntityVar(Self,1)な感じで、
好きな入れ物(変数)として使えます。
Localvarはシステムも使っていて、結構な頻度でリセットされるので、
キャラ(Entity)固有の変数収納場所(フラグ処理とか)として便利かと。
MOD SailorMoonでは Kastorというキャラが、これを利用して
2対でプレイヤーの情報を共有して、同時攻撃をするなどしています。
317:名前は開発中のものです。
22/04/09 02:58:53.09 huMt1Pej.net
>>316
なので、いわゆるピヨリ値などはGlobalVarよりEntityVarに収納したほうが
管理しやすいかも知れませんが、いまのマシンパワーならメモリ効率とか考えなくても
とくに支障はなさそうなので、使い易いほうで良さそうです。
318:名前は開発中のものです。
22/04/11 03:53:09.40 mFlGfZLx.net
プレイヤーが敵の情報を取得して、その敵を投げた際にdrawmerhod rotateを
使って回転しながら吹き飛ぶようにしようとスクリプト組んでたんですが
ぜーん全上手くゆかないので、プレイアブルキャラ作成に逃避
319:名前は開発中のものです。
22/04/12 01:32:29 vWluw1zD.net
void slamSpin() {
void self = getlocalvar("self");
void target = getlocalvar("Target"+self);
if(target==NULL()) { target = getentityproperty(self, "grabbing");
setentityvar(self,3,NULL());
setlocalvar("Target" + self, target); }
if(target!=NULL()) {
if (getentityvar(self, 3)==NULL()){ setentityvar(self, 1, 36);
setentityvar(self, 2, 16);
setentityvar(self, 3, 69); }
int zoom = getentityvar(self,2);
int zoomfct = 256+(zoom*4);
int rotate = getentityvar(self,1);
if(rotate>=360) { setentityvar(self, 3, 99); }
changedrawmethod(target, "enabled", 1);
changedrawmethod(target, "rotate", rotate);
changedrawmethod(target, "fliprotate", 1);
changedrawmethod(target, "scalex", zoomfct);
changedrawmethod(target, "scaley", zoomfct);
changeentityproperty(target,"projectile",1);
updateframe(target, 0);
setentityvar(self, 1, rotate+=36);
setentityvar(self, 2, zoom+=8);
if(getentityvar(self,3)==99) { changedrawmethod(target, "rotate", 0);
setentityvar(self,1,NULL());
setentityvar(self,2,NULL());
setentityvar(self,3,NULL());
depost(0);
throw(999,1,0,4,3,0);
changedrawmethod(target, "alpha", 3);
spawnEF("crash",0,0,1,384,0);
anichange("ANI_DODGE"); } } }
320:名前は開発中のものです。
22/04/12 01:51:05.23 vWluw1zD.net
思ってたんと違ったけど、まあなんとか必殺投げが出来たので
最後の5行に別なスクリプトを呼んでますが、演出用なので
基本上のスクリプトをLooperという別なスクリプトで呼び出して使ってます。
動画のプレイヤーキャラ(黄色いの)が連続キックを繰り出しますが
ああいう同じ動きをするとき便利なスクリプトで、殆どのユーザースクリプトに導入されていると思います。
@CMD Looper 3 5 という感じで7番目のFrame Data/~に記述すると
3番目のFrame から6番目のFrame までを5回繰り返すというもの
標準コマンドのLoop だと延々と繰り返してしますので、Looper の便利さが分かるかと思います。
動画だと動画のフレームが跳んでしまって分かりにくいですが、
なんとなーく私のやりたいこと分かっていただけますでしょうか?
tu.be/CRGXjQowAG8
321:名前は開発中のものです。
22/04/12 02:29:22 vWluw1zD.net
上のスクリプトは汎用性はほぼ無し、条件設定として
Health が25%切った相手を投げた際に30%の確立で発動な感じです
(動画ではテスト用に発動条件ユルユルですが)。
なのでやっぱり
攻撃者のAttack5 などに、相手側がリアクションとして Pain5 や Fall5 を
設定しておいたほうが結果手間が掛からないかと思います。
322:名前は開発中のものです。
22/04/13 00:14:16.67 aDur5ZAn.net
ピヨリについて、面倒だと思うよーとか適当な事言っておいて
EntityVar に値を入れておけば楽だと思うよーとか超いい加減なことばっかレスしてるんで
一応作ってみました、結果そんなに苦労はないかも?
今回はプレイヤーがピヨリ値を蓄積し、一定に達すると4秒間ピヨリ
レバガチャで時間短縮と成功でリバーサル攻撃。
内容は単純でAnim Pain実行時ピヨリ値をプラス、Anim Idleで少しづつピヨリ値減少
一定数たまったら、Executeanimationで”Ani_Follow{#}”でピヨピヨ実行
このとき、レバガチャEntityをプレイヤーにBindEntityして
ガチャ成功するとリバーサル攻撃用のAnim_Follow{#}にExecuteanimationするというもの
レバガチャEntityにはLifespan 4が設定してあって、4秒で自動消滅
CPU戦でピヨるとかウザイだけかもという認識でしたが、作ってみたら意外と良かったw
tu.be/6iLBqsjC2eI
323:名前は開発中のものです。
22/04/13 01:10:35.54 aDur5ZAn.net
anim pain
@script
if (frame==0) {
void self = getlocalvar("self");
int incDM = getentityvar(self,9);
if((incDM==NULL())||(incDM<=0)) { incDM=1; }
incDM+=incDM;
spawn01("dmflashsp", 0, 4, 0);
if(incDM>=20) { executeanimation(self,openborconstant("ANI_Follow9")); }
setentityvar(self,9,incDM);
}
@end_script
ピヨリ蓄積部分もこんな感じで単純です。Anim Painの度に倍になってゆき、
数値20以上でピヨリAnim(Follow9)を実行。
anim idle
@script
if(frame==5) {
void self = getlocalvar("self");
int incDM = getentityvar(self,9);
if (incDM<=0) { setentityvar(self,9,NULL()); }
if(incDM!=NULL()) { setentityvar(self,9,incDM-=1); }
}
@end_script
アイドル状態でピヨリ値1ずつ減少。AnimのFrameが最後の方まで描画されたら
減少するようになってます。または、Anim Sleepを設定しておいて、
そちらで下がるようにしても良いかも。
324:名前は開発中のものです。
22/04/13 01:17:03.20 aDur5ZAn.net
script @script
#include "data/scripts/escript.c"
void main()
{
void self = getlocalvar("self");
void par = getentityproperty(self,"parent");
void vict = getentityproperty(par, "playerindex");
void vict2 = getplayerproperty(vict,"entity");
int HP = getentityproperty(self,"health");
int HPmax = getentityproperty(self,"maxhealth");
if(HP>=80) {
spawn01("dmsuper", 0, 0, 1);
executeanimation(vict2, openborconstant("ANI_Follow11"));
bindentity(self, NULL());
killentity(self);
} else if(playerkeys(vict, 2, "moveleft")) { // Left is pressed?
changeentityproperty(self, "health", HP+4);
} else if(playerkeys(vict, 2, "moveright")) { // Right is pressed?
changeentityproperty(self, "health", HP+4);
} else if(playerkeys(vict, 2, "attack")) { // Attack is pressed?
changeentityproperty(self, "health", HP+2);
} else if(playerkeys(vict, 2, "jump")) { // Jump is pressed?
changeentityproperty(self, "health", HP+6); } }
@end_script
レバガチャ部分もシンプルで、方向キーで+4、アタック+2、ジャンプ+6で
80以上溜まったら成功(Follow11、リバーサル攻撃)
325:名前は開発中のものです。
22/04/13 01:25:34.49 aDur5ZAn.net
2行目で #include "data/scripts/escript.c" してるのは、
成功時の演出 spawn01("dmsuper", 0, 0, 1);の為だけです。
anim spawn
@script
void self = getlocalvar("self");
changeentityproperty(self, "health", 1);
@end_script
最初に Health 100(MaxHP)などと設定しておき、Anim Spawn時に
現HPを1にしています。
これを プレイヤーにBindEntity するのですが、スクリプト上方のSelf,Par,Vict,Vict2
ここを理解するのに頭こんがらがるかも知れませんね、元々他のモッダーさんが組んだ
スクリプト(古くからあるのでBloodBane氏でしょうか?)をアレンジしましたです。
326:名前は開発中のものです。
22/04/13 04:05:16.91 aDur5ZAn.net
元々、仕様とバグのギリギリいってる手法なので、
ピヨリ中にもう一回敵からのBindEntityを利用した攻撃を受けると
OpenBoRが落ちますw
やっぱり標準コマンドで何とかしたほうが良さそうですね。
レバガチャで回復早めるとかしなければ、EntityVarを使って
値を蓄積して、一定時間無防備になるというのは
バグの危険なく可能です。
中々難しいものですね。
327:名前は開発中のものです。
22/04/17 02:42:23.91 xLR26ELd.net
なんか煮詰まったので、プレイアブルキャラ作成に逃避。
ムゲンからキャラのインポート(聞こえが良いですね)。
ここで新たに、光弾問題に遭遇、どうもDBキャラはいろいろ撃ちますが、
単純に弾を撃つならCustKnifeなりで作ればよいし、誘導弾ならType NPCのSubType Chaseとかで
追尾させればよいのですが、なんとなく弾幕作りたいな~とかやってドハマリ中。
通常攻撃とシンプルな特殊技はこんな感じかな?
tu.be/_xQBhCUit8c
328:名前は開発中のものです。
22/04/17 03:48:50 xLR26ELd.net
SpawnEF S{vName} {X} {Y} {Z} {S} {A} {R} {Ani}
ナニコレ?
私個人のスクリプトですが、上の動画でも多用されています。
XYZは単純に座標、SはScale(Zoom)AはAlpha(透明度)R(回転)Ani(Anim)
本来、複雑な手続きを簡略化するのもスクリプトのメリットの一つだと思いますが
色々出来るようにして、かえって煩雑になった悪例w
ちゃんと設計やらしない大雑把な性格そのままです。
怪我の功名とでもいいますか、一つAnimがあれば回転拡大縮小をつかって
さまざまなエフェクトに活用出来そう。
ただし、ソースを見ないと意味不明、ですが、自身のオリジナルではないので
アップは憚れるという、ムゲンと共通のジレンマ。
オリジナルの作者様には尊敬しかないです。
329:名前は開発中のものです。
22/04/17 16:44:32.78 xLR26ELd.net
openBoRには標準でsin cos atanなど揃っていたので、扇弾を弄ってたのですが
考えてみれば敵はそんなのお構いなしですし。
自分が敵にやられたらイラだつだろうしで、全方位弾にしました。
おおよその敵の方向に撃つ直進弾がたまに止まっちゃいますがご愛嬌w
一見おおっ!となっても実は使い道の無い技ということで。
特に敵以外との衝突判定はしてないので32×4射ってますが
さすがopenBoR処理落ちなどしないですね。
セブンティーン氏が洪水おこしてますが、技が思いつかないので適当です。
Krrnはサポートに飛び込んできて、入力に連動して攻撃を繰り出すように出来ないか考え中。
330:名前は開発中のものです。
22/04/18 12:39:49 +se/Swu+.net
何の事だと思ったら、動画の話しなんですね。
まだ、何も分かりませんが、日本語での解説ありがたいです。
331:名前は開発中のものです。
22/04/19 03:14:29.19 a3xIrRSp.net
>>275
Anim Death 中に SpawnFrame を実行させれば
倒されるたびに新たな敵({Entity}なら何でも)を出現させられます。
Anim Deathを必ず実行させる為に Falldie 1or2(Death 1or2)
nodieblink はお好みで設定すればOK。
ですが Level(ステージやBranch)の中で Group 1 2 など出現キャラ数に
制限をしていると、SpawnFrame が実行されないので注意です。
Weapon で設定した場合、一定数転んだら別キャラ({Weapon})のような感じだったり
任意のタイミング(Freespecialなど)で切り替えたりして変身的に使えます。
{Weapon や Entity}で継承される技(Anim {xxx})が被ったりすると
上書きされたり(止める事もできますModelflag)するので気をつけないと
謎の技が暴発したりしますw
Weapon を使うなら Animal も研究すると面白いかもしれませんね。
332:名前は開発中のものです。
22/04/19 03:24:07.55 a3xIrRSp.net
>>別キャラ({Weapon})
({WeaponFrame} や{WeapLoss} などを設定して切り替わるようにする)。です。
このあたりの設定の細かさは流石です。
333:名前は開発中のものです。
22/04/20 21:43:31.43 PW9VJXxm.net
weaponの技の上書きというより、マージと言ったほうがわかり易いかも?
Anim Freespecial1のみプレイヤーキャラにあって、weaponにAnim Freespecial2があった場合、武器を拾ったプレイヤーは両方使えるようになります。
Modelflag{0,1,2}を設定してないと、混ざったままになってしまうことがあるということですね。
334:名前は開発中のものです。
22/04/22 01:04:20.67 g9+olsrt.net
算数も割り算の時点で微妙な私は、もちろんプログラムなんて全く分からなかったけれど
kt住江さんの作品に出会ってOpenBoRを知って、なんとか拡散砲を撃てるようになりました。
リソースは全部ひと様のものなので本来動画すら微妙なんですが、
スクリプトの中身見たら四則演算って知ってる?って感じですが
そんな私でも、For文とDrawmethodを組み合わせると、
こんな感じも演出出来てしまう。そしてすっごく軽いOpenBoR凄いという話です。
tu.be/hpDEMufHzC8
335:名前は開発中のものです。
22/04/25 03:51:31 vu/W7WGq.net
NO18さんの体力低下時スペシャルKRRN
最初はプレイヤーは空中に退避、各ボタン押下でMPに応じて技を繰り出す
というような感じにしたんですが、操作が煩雑になるので連打に
なんか連打も面倒(ピヨリで十分イライラですし)。
結果、全ての敵のそばに出現して勝手に暴れるように
ただ、これをやると、その後MPの回復を0か遅くする、
またはタイマーセットで規制しないと
体力下げてスペシャル連打でいいよね?になってしまうのですが、
そのへん作り込むのは面倒、良いアイデアないでしょうか
tu.be/iCGEtG9JQ8w
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 を使うと簡単に座標などを保持できるという例でした。
424:名前は開発中のものです。
22/08/31 04:04:17.93 fm9hvYJ9.net
なんか日本語サイト消えててムカついた
アドスクショしたのは半年前
ウィンドウ(ズ)方式
ファイルをダウンロード.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
これじゃ新規の人はほぼわからない
あとクロノとレディット嫌い 簡単に翻訳されない
425:名前は開発中のものです。
22/08/31 06:22:18.65 3nOEbrfx.net
windows 7 - 64ビット非互換性うんぬんで
PACKER EXEが動かずに元に戻せない!
.pakにするにはどうしたら良いの
426:名前は開発中のものです。
22/08/31 13:29:09.39 3nOEbrfx.net
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にするにはどうしたら良いの?
427:名前は開発中のものです。
22/08/31 23:44:06.64 xnrBW77r.net
私の環境は Windows7/64bit です。
ChronoCrash からDLしたBoRPAK.exe を利用しています。
先ず、PAKファイルを解凍するのは単純に、BoRPAK.exe に対象のPAKを
ドラッグドロップするだけで、PAKと同じフォルダにDataフォルダが自動作成され
Dataフォルダ内に必要ファイルが解凍されます。
OpenBoRの実行ファイルと同じフォルダに、このDataフォルダを入れておくと
OpenBoRを実行した際に、最優先でDataフォルダが実行されます。
メニューが出て幾つかPAKが選べたとしても、ゲーム内容はDataフォルダのものになります。
428:名前は開発中のものです。
22/08/31 23:55:36.38 xnrBW77r.net
上の時点で不具合が発生する場合、BoRPAK.exeのプロパティで管理者権限にしてみたり、
XP(SP3)モードにしてみるなり、先ずはWindowsの権限を開放しましょう。
あとはアンチウィルスソフトで隔離されていないか確認です。
さて、もう一度PAKファイルに戻すには。私の場合は付属のCompile.batを使っています。
デスクトップに適当なフォルダ(MakePAKとか)を作成して、
そこにChronoCrashからDLした、BoRPAK.exeと付属の~.bat ファイルを入れ、Dataフォルダも入れます。
そして、Compile.batと管理者として実行すれば、同じフォルダにMyGame.pakが作成されます。
これを適当にリネームしたら出来上がりです。
何もファイルが作成されない。Permission Denied 的なエラーはWindowsの権限不足か
アンチウィルスソフトが何かしてる事が殆どなので、その辺を確認してみてください。
何かのお役に立てばです。
429:名前は開発中のものです。
22/09/01 00:10:19.71 BBcaXtm7.net
BoRPAKの説明どおりにPathを通しても全く上手く行かないので、
デスクトップで作業したほうが早いです。
openBoR のMOD 作成に興味を持った方がいらして本当に嬉しいです。
これからも楽しくMOD作成が出来ますように。
430:名前は開発中のものです。
[ここ壊れてます] .net
>>424
日本語サイトを探すのは至難の業でしょうね。
Kt住江 様を筆頭とするまっとうな方の話以外は
酔っ払いのたわごとが多く、
情報が古い、誤字脱字、妄想、思い込みなどなど
役に立たない事がほとんどなので、
>>7 にあるマニュアルサイトをDeepL先生かGoogle先生に翻訳してもらうのが
一番手っ取り早いかと思います。
431:名前は開発中のものです。
22/09/04 21:15:33.40 fufu1JVK.net
実は日本語サイト少し前まではあったのねそれで展開の知識だけあったのね
クロノはわかりづらくて、しかも基本普通の人はダウンできない
なのでBlaze Rhodon IIからry
可能性の話
Makepak & Extractorは誰かがテストプレイしながらアップされたものを落としてそこだけ切り抜いた結果
中身がないbor.pakとかDataがあってそれが邪魔していたと考えられる?
8月31日は考えられる?すべての方法を否定された
ツールが1箇所にまとまっていなかったのが原因
9月1日完成!makepackbatバッチファイル動きました Thank You!
ここすら書き込めないとかまじなんなの
2chGearに変えたわ
432:名前は開発中のものです。
22/09/08 01:12:37.92 qw1ooLxH.net
動作したのでしたら何よりです。
~.batファイルはシンプルで便利ですが、時に問答無用で上書きしてしまったり、
Windowsのエラーメッセージが出て意味不明だったりでハマると苦労しますね。
433:名前は開発中のものです。
22/09/12 00:32:14.53 62TYiDdQ.net
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 で全ての敵に物が降って来る演出に使っています。
434:名前は開発中のものです。
22/09/12 10:36:28.99 gZ1BdrNz.net
動画でジルさんが人気者でワラタ
435:名前は開発中のものです。
[ここ壊れてます] .net
確かに参考動画の平均視聴30回なのにJillさんだけ80回超えですね。C社のスプライトは本当に生き生きと良く動くから、見ていて気持ち良いからかも?
436:名前は開発中のものです。
22/09/16 23:54:50.01 SwvCtaVf.net
>>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();
内容はこういったものなので、似たもので代用してください。
437:名前は開発中のものです。
22/09/17 05:08:07.68 fStGlV/y.net
つべcrayon shin chanはあなた様ではないですよね
testやBindEntityで検索しても出てこなくなっちゃった
2chGearが特定の文章を削っているのかな?
438:名前は開発中のものです。
22/09/18 12:37:16.13 iI+JI5KT.net
bindentity系の動画は新しいの作成中で削除してしまってます。
クレしんMOD面白そうですよね。DD Toki氏が作成中のようです。Jillさん動画とは無関係ですね。
439:名前は開発中のものです。
22/09/26 01:50:21.99 6J4qsPGM.net
OpenBoR knockback Test この動画で、>>422 を通常攻撃で作用するようにしてみました。
最初の3分くらいまでがノックバック有り、以降終わりまでがノックバック無しです。
あまり違いが分からないですね。
ただ、連続技で突き抜けることは少なくなると思います。
440:名前は開発中のものです。
22/09/27 02:08:31.73 7tkhAq8/.net
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枚しか画像が無くても、出現(描画)する部分を選んで表示することが出来ます。
そんなに使う機会は多くは無いですが結構便利です。
441:名前は開発中のものです。
22/10/02 23:57:48.95 KXJhanxF.net
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
442:名前は開発中のものです。
22/10/03 23:13:00.80 bRhmO1hJ.net
>> if (cnt < 10) { i = + 1; } else { i = 0; }
if(i < 10) { i = + 1; } else { i = 0; } が正解
for 文みたいな感じですね。
for (cnt = 1; cnt <= 10; cnt ++)
443:代理投稿
22/11/19 13:54:34.11 eQ2LBrG8.net
お久しぶりです、kt住江です。
このたび、11月22日の夜21:00に、
新作ベルトアクションゲーム『AAシャドウ外伝』を公開します。
原作は、モナー板のモナーRPGの作者さん、
マンドーさんがツクールVXACEで作った『AAシャドウ』となっています。
↓予告OPGIF
URLリンク(twitter.com)
なお、くにおくんのほうは一旦開発を中断していますが、
中止したワケではありません。
12月から開発を再開し、必ずコチラも完成させます。
申し訳ありません。
(deleted an unsolicited ad)
444:名前は開発中のものです。
22/12/04 01:52:02.96 fNIoeOHl.net
おかえりなさい。
この板はとてもとても時がゆっくり流れているので全てノープロブレモです。
気付くと半年くらい過ぎてますね。
私は私でOpenBoR WIP PiyoPiyo を自分で上げたような気がしてるんですが
しかし、こんなのいつ作ったんだか?まったく記憶に無いので狼狽してます。
ジントニックばっかし飲んでた記憶はあるような無いような、
皆さんもお酒はホドホドが宜しいかと存じます。
といいつつ、芋焼酎お湯割りとバーボンの美味しい季節になりました。
445:天堂少女6.0
22/12/21 10:22:25.04 d5uvwmxl.net
ROSE&JASMIN様の動画何かいっぱい消えてる
最近2chGearがv1.1.6になりました
446:名前は開発中のものです。
23/01/09 03:02:48.95 FNtCxN0E.net
個人的には業務目的とかでなければ、そんなに気にしなくても良いと思いますが。
ROSE&JASMIN氏としては他人様のリソースをモディファイしてるだけなので、
大っぴらに発表しにくいと考えているようですね。
技術の見本として参考になるんで、どんどんUPしてもられると嬉しいです。
447:名前は開発中のものです。
23/02/26 00:15:48.61 9HodEVn/.net
気がついたら3ヶ月経ってました。
kt住江様、
『AAシャドウ外伝』 とても楽しませていただきました。
kt住江様のゲームは特徴のあるキャラクター達(原案あれど、命を吹き込まれたその動き)と、
「間」がとてもしっかり作られていて、各ステージも作業にならず
コンボでパターン化しても良し、嵌めても落としても良し
でも舐めプするとガシガシとHPを削られると攻略にメリハリがあって
とても楽しめます。ボスがちゃんとボスしてるし、攻略の糸口もちゃんとある。
とにかくしっかり作られていて、バランスの良い仕上がりに毎度ながら脱帽です。
FC/MSX?的な独特のグラフィックも素晴らしいセンスでまとまっていて、
相当なドットワークの経験をお持ちなのかと思います。
楽しい時間をありがとうございます。
448:名前は開発中のものです。
23/02/26 22:04:15.21 JSJyAtRN.net
早苗7というふざけたキャラクターを作りました音声ファイルが正常に再生されています
キングボンビーレム7というふざけたキャラクターを作りましたが
--ビット深数なのか周波数なのか
用意したwav音声ファイル読み込まないけれどなにで録音し直したらいいのでしょうか?--
449:名前は開発中のものです。
23/02/27 01:08:35.22 H4ZrGNd0.net
.WAV ファイルはデフォルトばかり使っているので詳しくは分かりませんが
マニュアルでは
ビット深度
8 - 一般的なサウンドエフェクトに推奨。
16 - スクリプトでステレオミキシングを行う場合に推奨します。
8ビットでミキシングすると、効果音に "ポップ "な音が入ることがあります。
サンプルレート
11Khzから44Khzまで。
一般的に音質とサイズのバランスが最も良い22Khzを推奨します。
となっていて、特に変わった制約などは無いようです。
キャラクターモデルファイルを読み込む際に
コマンド SOUNDがあるとメモリに読み込まれる仕様。
ファイルの場所指定が間違っている無いかとか、
ファイルネームに空白が混じっていないかとか
ファイルネーム長すぎでも駄目なときがあります
何かの参考になれば
450:名前は開発中のものです。
23/03/07 04:35:09.35 OFiiM21T.net
もうAthenaさんを調整しつつ動画を上げてた事も忘れてました。
Jillさんとか本当に自分が上げたなんて信じられないくらい忘れてる。
ブログなどでやれって話かもしれませんが、このスレが覚え書きになってくれてとても感謝です。
WarDukeのように分岐のあるダンジョンでも作ろうかと色々試していますが、
フラグの管理で気が遠くなりそう、WarDuke作者様の根気に感服しています。
451:名前は開発中のものです。
23/03/31 17:15:20.50 ChfoT1ii.net
246できません
敵が召喚したアイテムを敵に当てられません
--自滅が目的です--
item none npc player enemyほかに候補はありますか
2重召喚する必要がありますか
452:名前は開発中のものです。
23/04/09 02:04:27.71 cawyYZ6p.net
MUGENの便覧
やりたいことができないしエラーだらけで全部使えないし!はいこれ
ux.getuploader.com/bon0718/download/3
453:名前は開発中のものです。
23/05/16 13:07:18.64 udHk8L9s.net
ちょくちょく参考にさせてもらってます。
質問ですが、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を使っている作品とか方法を知ってる方いますか?
454:名前は開発中のものです。
23/05/18 01:52:06.20 Ahrjuvwy.net
すいません多分解決しました。。
dograbなんてあったんですね…OpenBORManualに記述なかったので盲点でした。
455:名前は開発中のものです。
23/07/08 22:08:59.78 OiebaP6r.net
>>453
通常のGrabやAttackコマンドを介さずGarbするのは中々難しそう
私の知っている範囲だと、掴む相手(GrabedTarget)の選定が面倒で
敵が複数(AとB)いて、
Aを攻撃して倒し切らずに、Bに近付いてスクリプトで掴もうとすると
Target判定の残っているAを掴んでしまう事(Aが離れていてもテレポートで吸い込むw)が結構あります。
スクリプトの段階でTarget判定を丁寧にすれば良いと思うのですが乱戦が多いゲームなんで面倒そうw
通常コマンドのGrabWalk関連を調べてみるとよいかもですね。
456:名前は開発中のものです。
23/07/10 10:33:44.29 JU+qA8cq.net
掴みからの投げキャラで良くできてるなと思ったのがCrimeBustersのMaximaかな
SoR2Xとか掴んだあと相手の後ろに回ったりとか原作みたいなアクションできた気がする
457:名前は開発中のものです。
23/07/10 14:02:24.25 OCTNwGwj.net
合体技またはそれに近いものってありますか?
tube/watch?v=EuscUBTIIQw
458:名前は開発中のものです。
23/07/15 04:12:21.23 xZYhvS94.net
これって役に立ちます?
dxlib.xsrv.jp
459:名前は開発中のものです。
23/07/15 13:44:18.46 uA8buZeb.net
合体技はChronoCrashのフォーラムにあった気がする。
460:名前は開発中のものです。
23/07/19 16:58:27.39 L6Ei/eLq.net
A.I.の台頭で背景画やアニメーション制作がしやすくなったっぽい?
某「クエイサーっぽい」MODのような演出に凝った作品制作にチャレンジできるかも。
というかニコニコで発表されてから12年もの月日が流れているとはw配布されたんですかね?
さておき、良い材料がそろっても結局製作者の想像力が追い付かないと、どうにもこうにもでしょうね。
461:名前は開発中のものです。
23/07/20 21:26:14.84 1PWQA0vF.net
マスカクの作者さんですかね?>クェイサーっぽい
GIFアニメを駆使した力作のようでした
ふっと消息を絶たれて今に至るようです
復活が期待されますが
今はgodotにunityと開発環境が豊富ですからね
462:名前は開発中のものです。
23/07/20 21:35:38.67 1PWQA0vF.net
そういえば、DD Tokki氏のKofRがアップデートされているようです
粛々と開発を続けてらっしゃるようで完成が待ち望まれます
463:名前は開発中のものです。
23/07/26 01:04:49.36 QkJIux70.net
gifアニメってどうやって作ってますか?
howtoが再生できません
464:名前は開発中のものです。
23/07/27 04:48:54.90 9IranWxT.net
>>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などのシーンを表示できるかと思います。
465:463
23/07/28 20:16:12.20 9CyUvDcA.net
先生いつも本当にありがとう
いつもわがままな弟子たちの質問に答えてくれてありがとう
あなたの知らないうちに弟子がたくさんいる
ようです
まるで岩本三四郎先生のようだ
ありがとうございます!
448
giam209.exe wait1000でok
wav音声ファイルも録音し直しするだけ
アリスがゾンビみたいな歩き方で、やめいって思ったので描き直した
toumou fight par ver3 けっこうやらしい
でけたよー
URLリンク(tadaup.jp)
URLリンク(tadaup.jp)
URLリンク(tadaup.jp)
466:名前は開発中のものです。
23/08/08 21:56:53.66 dDMNhSpi.net
どうやら私の人生はここまでのようですね
もうプログラムの追加も修正もできない
でも最速ロードで pc PSP PS3 vita switch スマホ で動くのを確認済み
夢は叶った!そして悲劇と共にいきなり私の人生は終わった...
467:名前は開発中のものです。
23/08/11 09:21:14.16 EIfZEBfi.net
おやバックアップ忘れですか?
プロジェクト喪失の絶望、わかります。
フリーのHDDリカバリーソフトでも結構よい性能なのでお試しあれ。
今いろいろステージギミックを考えてます。
透明な攻撃判定だけ設置して、触れたらanim follow で少し先に地雷をばら蒔き。
地雷のanim idle は2~3回点滅表示させて後は透明になど。
global変数でフラグ設定して色々ギミック管理しはじめると沼ですね。
468:名前は開発中のものです。
23/08/11 11:23:28.32 xkezsZu+H
大麻か゛流行ってるけと゛.社會に深刻な損害をもたらしてる宗教こそ禁止しろよ,利権団体創価学会は宗教し゛ゃねえた゛ろって突っ込みはともかく
家族がバ力丸出し印刷物の曼荼羅とか飾ってたら酒や煙草のように放っておけばいいなんて考えてはいけない.歳食うほど狂乱ぷりに
拍車をかけて会話すら成立しなくなるそ゛,Bibleならぬゴショとか持ってたら急を要するからな、━刻も早く引き裂いてゴミに出さないと
頭をヰカレさせる洗脳システ厶の餌食になるそ゛.國土破壊省を乗っ取った齋藤鉄夫公明党という世界最惡の殺人テ口組織か゛.カによる━方的な
現状変更によってクソ航空機倍増させて閑静な住宅地に都心まて゛数珠つなぎで鉄道のз○倍以上もの莫大な温室効果ガスまき散らして
騒音まみれにして静音が生命線の知的産業壞滅させて気候変動させて海水温上昇させてかつてない量の水蒸氣を日本列島に供給させて土砂崩れ
洪水.暴風,突風、熱中症にと災害連発,家か゛流されたり殺されたりした人を仏罸た゛宿業た゛として住民の生命と財産を奪い取ることを正当化,
洗腦スパヰラルを深める悪質な罠か゛張り巡らせてるわけよ,国の存続に関わる深刻な癌が進行している現実を認識して病魔を打ち滅ぼそう!
創価学会員ってもはや宗教的に信じてるのは教養のない年寄りバハ゛ァくらいで,公明党を通し゛て他人の権利を強奪したり
税金泥棒するための利権組織ってのか゛実態だそうた゛な.他人の人生を破壊することで私腹を肥やしてる現実に恥を知れよ
URLリンク(i.imgur.com)
469:名前は開発中のものです。
23/08/12 11:08:13.40 jLdP8vm4.net
lifescore
credscore
有効化できたことはありませんか?
またはクレジットアイテムを作ったり残機 マイナス×99アイテムはできたことはありませんか?
有効化ができませんでした
470:名前は開発中のものです。
23/08/13 00:11:24.60 xdfwtTwf.net
lifescore credscore に関しては Models.txtに記載することで機能すると思いますが?
Modderさんの中にはLevels.txtにも記載してる場合もあります、色々なヴァージョンがあるので正解は不明ですねw
471:名前は開発中のものです。
23/08/14 15:11:42.16 9IVLIwLo.net
lifescoreはmodels.txtに記載することで動作してますね。
itemでクレジット増やすのは、当該アイテムのentityのヘッダーにcredit 1等記載すれば良いようですが、残機のマイナス効果はスクリプトにすればどうにかなるかもです。
最近、pakファイルにロック掛けて中身を覗けないようにしてるModderさんが多くなってきてショボーンですw
472:名前は開発中のものです。
23/08/14 22:01:18.65 bpKPl4N+.net
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である必要は特に無いのですが、何かの参考になれば。
473:名前は開発中のものです。
23/08/15 10:14:55.85 5qSS1H4z.net
>>472
敵に 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 は検証中。
474:名前は開発中のものです。
23/08/15 10:20:05.70 5qSS1H4z.net
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 を組み合わせると、プレイヤーが拾った時だけ効果が出ます。
475:名前は開発中のものです。
23/08/15 12:52:52.96 2535FRyI.net
うちの環境ではライフスコアが5万で固定されてます。
クレジットスコアは機能せず。
クレジットアイテムでは増えます。
謎は深まるばかり。
476:名前は開発中のものです。
23/08/16 10:49:29.69 90h10/mV.net
old manual ではModels.txt に記入するように、
lifescore はデフォ5000、credscore はデフォ不明、数値によっては反応しない。数値を0にするとバグるよ?
と書かれていますね。
実際Models.txt にcredscore 0としたところ、最初の敵を攻撃してスコアが動いた時点でクラッシュしました。
477:名前は開発中のものです。
23/08/17 01:28:49.71 lEcdpfS2.net
まだやってます、敵の団子問題。
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
478:名前は開発中のものです。
23/08/19 10:42:29.91 LQTpaOO8.net
なかなか検索しづらい 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
479:名前は開発中のものです。
23/08/21 22:33:30.84 AQsTVOZ0.net
@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")
こんな感じに使いますが、あまり無茶するとバグります。