☆ベルトアクション作成 Beats of rageスレッド☆ (658レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
329: 名前は開発中のものです。 [sage] 2022/04/17(日) 16:44:32.78 ID:xLR26ELd openBoRには標準でsin cos atanなど揃っていたので、扇弾を弄ってたのですが 考えてみれば敵はそんなのお構いなしですし。 自分が敵にやられたらイラだつだろうしで、全方位弾にしました。 おおよその敵の方向に撃つ直進弾がたまに止まっちゃいますがご愛嬌w 一見おおっ!となっても実は使い道の無い技ということで。 特に敵以外との衝突判定はしてないので32×4射ってますが さすがopenBoR処理落ちなどしないですね。 セブンティーン氏が洪水おこしてますが、技が思いつかないので適当です。 Krrnはサポートに飛び込んできて、入力に連動して攻撃を繰り出すように出来ないか考え中。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/329
330: 名前は開発中のものです。 [sage] 2022/04/18(月) 12:39:49.39 ID:+se/Swu+ 何の事だと思ったら、動画の話しなんですね。 まだ、何も分かりませんが、日本語での解説ありがたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/330
331: 名前は開発中のものです。 [sage] 2022/04/19(火) 03:14:29.19 ID: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 も研究すると面白いかもしれませんね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/331
332: 名前は開発中のものです。 [sage] 2022/04/19(火) 03:24:07.55 ID:a3xIrRSp >>別キャラ({Weapon}) ({WeaponFrame} や{WeapLoss} などを設定して切り替わるようにする)。です。 このあたりの設定の細かさは流石です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/332
333: 名前は開発中のものです。 [sage] 2022/04/20(水) 21:43:31.43 ID:PW9VJXxm weaponの技の上書きというより、マージと言ったほうがわかり易いかも? Anim Freespecial1のみプレイヤーキャラにあって、weaponにAnim Freespecial2があった場合、武器を拾ったプレイヤーは両方使えるようになります。 Modelflag{0,1,2}を設定してないと、混ざったままになってしまうことがあるということですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/333
334: 名前は開発中のものです。 [sage] 2022/04/22(金) 01:04:20.67 ID:g9+olsrt 算数も割り算の時点で微妙な私は、もちろんプログラムなんて全く分からなかったけれど kt住江さんの作品に出会ってOpenBoRを知って、なんとか拡散砲を撃てるようになりました。 リソースは全部ひと様のものなので本来動画すら微妙なんですが、 スクリプトの中身見たら四則演算って知ってる?って感じですが そんな私でも、For文とDrawmethodを組み合わせると、 こんな感じも演出出来てしまう。そしてすっごく軽いOpenBoR凄いという話です。 tu.be/hpDEMufHzC8 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/334
335: 名前は開発中のものです。 [sage] 2022/04/25(月) 03:51:31.30 ID:vu/W7WGq NO18さんの体力低下時スペシャルKRRN 最初はプレイヤーは空中に退避、各ボタン押下でMPに応じて技を繰り出す というような感じにしたんですが、操作が煩雑になるので連打に なんか連打も面倒(ピヨリで十分イライラですし)。 結果、全ての敵のそばに出現して勝手に暴れるように ただ、これをやると、その後MPの回復を0か遅くする、 またはタイマーセットで規制しないと 体力下げてスペシャル連打でいいよね?になってしまうのですが、 そのへん作り込むのは面倒、良いアイデアないでしょうか tu.be/iCGEtG9JQ8w http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/335
336: 名前は開発中のものです。 [sage] 2022/04/25(月) 19:15:40.23 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/336
337: 名前は開発中のものです。 [sage] 2022/04/26(火) 01:26:17.09 ID: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が残っていた場合、プレイヤーまで引き寄せ再度攻撃するというもの 「鞭」を装備したキャラを想定した攻撃なので素手では変な見た目になりますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/337
338: 名前は開発中のものです。 [sage] 2022/04/26(火) 01:47:14.17 ID:tRI20Ut9 >>337 最後の追撃ですが、 FindTarget や Opponent、 Grabbing(Grabbed)で選んだ対象が ANI_Fall で A=Base のType Enemyだった場合、 そしてプレイヤーの攻撃範囲であったら スクリプト SlamStart して地面を蹴りつける動作でダメージを与えるというものを 作ったのですが、ちょっと見た目的に結構エグかったので削除。 まあそれまでにナグるわケるは好き放題にしてたくせに、何故か引いてしまいました。 別キャラの相手の背後にテレポートしてキりつけるは別にOKなんですが、 人それぞれ結構苦手なシーンがあるかもしれませんね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/338
339: 名前は開発中のものです。 [sage] 2022/04/26(火) 03:20:57.85 ID:tRI20Ut9 >>313 Drawmethod Rotate を使った回転について マニュアルには −45 とすればマイナス方向の45度に回転させられるとあり 実際出来るのですが、画像の欠けが発生し易いようなので 素直に 315と設定したほうが良さそう。 Type Enemy の設定 Anim JumpAttack は これとRange 設定(0〜100など)だけで自動で前方ジャンプ攻撃を行います。 Anim JumpAttack2 は 同じく Range 設定で 垂直ジャンプ攻撃になります。 Type Enemyも結構いろいろ設定できるので、凝りだすとキリが無さそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/339
340: 名前は開発中のものです。 [sage] 2022/04/26(火) 07:34:52.71 ID:tRI20Ut9 こちらがコンボを繰り出していると、たまに敵が無敵技で逃げたり 反撃してきたりしますが、 EscapeHits {#} ここで設定した数値+1連続で攻撃を受けると Anim Special2 が実行されます。 Falldie # やDeath # を1にしておくと、Health 0 で必ず Anim Death が実行されるので、フラグや演出にも使えそう。 Walk Idle Pain Fall Riseなどの各Anim はほぼ必須な Animなので 通常の利用だけでなく、必ず実行される特性を利用した演出や フラグの処理などに。ヘッダーで NoMoveを設定しておくと移動しなくなるので こちらも便利に使えそう。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/340
341: 名前は開発中のものです。 [sage] 2022/04/28(木) 01:47:31.28 ID: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などにも記述しておきます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/341
342: 名前は開発中のものです。 [sage] 2022/04/28(木) 01:51:47.77 ID: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 キャラの調整って難しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/342
343: 名前は開発中のものです。 [sage] 2022/04/28(木) 02:03:08.09 ID: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をコテンパンにするのもあり。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/343
344: 名前は開発中のものです。 [sage] 2022/04/28(木) 02:14:43.42 ID: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内の)が「設定した時間を超えたら 何かする」というような使い方ができます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/344
345: 名前は開発中のものです。 [sage] 2022/04/28(木) 02:24:25.39 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/345
346: 名前は開発中のものです。 [sage] 2022/04/28(木) 03:53:19.54 ID: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 も使えば、かなり様々なことができそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/346
347: 名前は開発中のものです。 [sage] 2022/04/30(土) 01:52:33.20 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/347
348: 名前は開発中のものです。 [sage] 2022/04/30(土) 01:53:21.89 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/348
349: 名前は開発中のものです。 [sage] 2022/04/30(土) 02:15:26.77 ID: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ドットとか)を取得できる手段がありましたら ご教授ください。宜しくお願いいたします。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/349
350: 名前は開発中のものです。 [sage] 2022/04/30(土) 02:33:43.50 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/350
351: 名前は開発中のものです。 [sage] 2022/04/30(土) 02:47:59.07 ID:rxj78wqY >>301 さんのレスから そんなに難しい事なんかないよ!と言いたくて、 すこしスクリプトを書いてみましたが、ポンコツな私の能力では 結局こんなんなっちゃって、もうなんと申したら良いかって感じです。 やりたいことは HPが一定数減ったか? HPが減った状態から回復したか? 強力な必殺技を一定数使ったか? だけなんで、内容はシンプル。ただ、関連するAnimが他に Anim Faint、Anim Fall、Anim Pain、Anim Rise 少なくとも4つあるので、記述そのものはコピペでOKとはいえ面倒だなーと思いました。 手前味噌ですが、やってみたら意外とアクセントになって良かったかも? という感想です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/351
352: 名前は開発中のものです。 [sage] 2022/05/07(土) 01:55:26.36 ID: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に移行したりします。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/352
353: 名前は開発中のものです。 [sage] 2022/05/07(土) 02:01:51.67 ID:NmRbFI7S 上の閉じたLoopでも BBoxで喰らい判定や、Attackコマンドと付随するFollowコマンドがあれば 別なAnimに移行できます。 なので、あえて閉じたLoopを使って、チャージの真似事をさせたり CancelでA2ボタンを押すたび別なFreeSpecialに跳んで、A2を押した数だけ べつな技を出す。なんてことが可能になります。 もちろん別な方の受け売りですが、Loopひとつで技のヴァリエーションが 増えるのはなかなか便利です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/353
354: 名前は開発中のものです。 [sage] 2022/05/10(火) 06:46:43.73 ID:ANAGzemE Jenniferで思ったけれど ゴオン・リーラ・ディ・ディオとか グリズリーコークスクリューマグナム みたいな巨大すぎる手だけの背景技が作りたいのと バットルサーキットみたいにショップに入れたりしたら面白いのにね http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/354
355: 名前は開発中のものです。 [sage] 2022/05/11(水) 03:15:52.16 ID: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が装備品としてプレイヤーのステータスをアップする スクリプトを組んでいたような? http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/355
356: 名前は開発中のものです。 [sage] 2022/05/12(木) 03:20:11.72 ID:4lLWq45r PlayAnim(うろ覚え) => X Animation data/scenes/scene.gif 0 0 こちらが正しい表記 最後の 0 0 はXY座標 このコマンドでGIFアニメを再生できます。主にDEMOシーンなどに使います。 インゲーム中は普通に{Entity}を作ったほうが早そうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/356
357: 名前は開発中のものです。 [sage] 2022/05/14(土) 02:02:26.01 ID: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 を専ら使っています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/357
358: 名前は開発中のものです。 [sage] 2022/05/14(土) 02:07:27.46 ID: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を使えばもっと単純にできますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/358
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 300 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s