☆ベルトアクション作成 Beats of rageスレッド☆ (656レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
309: 名前は開発中のものです。 [sage] 2022/03/27(日) 01:42:21.92 ID:HrM0WEsM 倒れている敵に追撃できないか? 簡単に作る場合は、Anim FreeSpecial などの コマンド Attack にOTGを設定して 置けばよいのですが、喰らう敵側の Anim Fall に BBoxを設定しておかないと 当然のごとく攻撃は当たりません。 通常のAnim Attack に スクリプトで FindTarget して、そこで取得できた敵のX,Y,Z とプレイヤーのX,Y,Zを比較して、攻撃が届く距離なら コマンド PerformAttack で ダウン攻撃Animに移行すればよいわけですが、この場合も、 敵側のAnim Fallには BBoxの設定が必要です。 あとは、FindTarget して、距離を測るまでは一緒で、見つけた敵を強引に スクリプト SlamStart で拾って、あとはよしなに。 もともと1対1の戦闘はそれほど考慮されていないので(それならムゲン) 特定の敵の情報を得るのは FindTarget、Opponent、DamageTaker くらいしか 私は知りませんので、なんとかそれでやりくりしてます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/309
310: 名前は開発中のものです。 [sage] 2022/03/27(日) 01:45:54.18 ID:HrM0WEsM >>307 2じゃ無くて >>7 ですね。 さらにミスって上げてしまいました。ごめんなさい。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/310
311: 名前は開発中のものです。 [sage] 2022/03/30(水) 02:10:47.88 ID:jn3q1exc anim idle @script void self = getlocalvar("self"); void rflag = getentityvar(self, 1); if (rflag==NULL()){ setentityvar(self, 1, 0); } else { int rotate=getentityvar(self,1); if(rotate>=360){rotate=0;} changedrawmethod(self, "reset", 1); changedrawmethod(self, "rotate", rotate); changedrawmethod(self, "fliprotate", 1); rotate+=18; setentityvar(self, 1, rotate); } @end_script loop 1 delay 2 offset 42 43 attack 0 0 83 86 5 0 1 0 12 12 frame data/chars/spiral/ssword1.gif これは、射出される弾の1枚の絵を回転させられないかな?と作ったもの 回るには回ったんですが、やはりDrawMethod Rotateの特製か、中心を軸に回転させるのが難しい 無い頭で苦心するより、ペイントソフトで回転する絵を作ったほうが早そうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/311
312: 名前は開発中のものです。 [sage] 2022/04/07(木) 09:32:24.21 ID:RWamgL6H bindentityの機能にターゲットと同じAnimを実行するというものがありますが 速いdelayやAnimを連続切り替えしたりすると、他のentity(敵とか)に影響が出て描画が遅れたりすることがあるようです。 特に同じAnim内でdrawmethodも使っていると症状が出やすいようです。 レイヤーコマンド使って優先順位付けしたら違ってくるかも?などと考えています。 かなり軽いエンジンなので、あんまり無理させちゃいけないのかも知れません。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/312
313: 名前は開発中のものです。 [sage] 2022/04/07(木) 11:11:43.62 ID:V6ejTjoQ >>311 の回転ですが 元絵を余白も含めて縦横比を同じくらいにして offsetを画像の中心付近にすることで、 結構綺麗に回転します。 飛翔体などならそんなに違和感ないですね。 コツが分かってくると、スピンアタック系や ジャンプ中の前転などそれなりに使えそう。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/313
314: 名前は開発中のものです。 [sage] 2022/04/07(木) 21:23:18.45 ID:RWamgL6H drawmethod rotate #とfliprotate 1はよく使ってます。 前者は好きな角度に回転させるのと、後者は対象のentiryの向きに合わせて 自動で反転してくれるというもの。 shiftx #にも自動反転があればもっと便利になるのですが、 中々難しいものです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/314
315: 名前は開発中のものです。 [sage] 2022/04/08(金) 01:33:24.24 ID:W27/nC7P >>304 のChangeEntityPropertyでTypeやHostileを変更するを利用して キャラ(Entity)がKnockdownCountで転ぶ(Fall)度に 敵になったり味方になったり変わる様にしたんですが、ChangeDrawmethodなどで 色も変えないと混乱の元なので却下。 動画では、一部の敵を倒すと一定時間NPCが出現するようにしましたが、このほうが分かり易いですね。 Stage2では敵を倒すとどんどん増援が来るようにしたはずが、レベル設定のGroup{Min}{Max}の 影響も受けるようで、そんなに敵だらけになるようなことはありませんでした。 Stage1のようにEnemyポータル方式のほうがメリハリがついて良いかもしれません。 テストとはいえ、コンセプトや世界観なしで適当に登録してある敵をただ順番に出現させているだけなので ゲーム性は全く無いですね。ステージもTGS4からの流用です。オリジナルを作れる日はいつの事やらw tu.be/k1-ss0M1Klc http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/315
316: 名前は開発中のものです。 [sage] 2022/04/09(土) 02:45:15.79 ID:huMt1Pej >>302 にてlocalvar と globalvar について軽く触れていますが、もう一つ EntityVar もあり、setEntityvar({entity},{index},{var}) 的につかいます。 EX. SetEntityVar(Self, 1, 999)GetEntityVar(Self,1)な感じで、 好きな入れ物(変数)として使えます。 Localvarはシステムも使っていて、結構な頻度でリセットされるので、 キャラ(Entity)固有の変数収納場所(フラグ処理とか)として便利かと。 MOD SailorMoonでは Kastorというキャラが、これを利用して 2対でプレイヤーの情報を共有して、同時攻撃をするなどしています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/316
317: 名前は開発中のものです。 [sage] 2022/04/09(土) 02:58:53.09 ID:huMt1Pej >>316 なので、いわゆるピヨリ値などはGlobalVarよりEntityVarに収納したほうが 管理しやすいかも知れませんが、いまのマシンパワーならメモリ効率とか考えなくても とくに支障はなさそうなので、使い易いほうで良さそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/317
318: 名前は開発中のものです。 [sage] 2022/04/11(月) 03:53:09.40 ID:mFlGfZLx プレイヤーが敵の情報を取得して、その敵を投げた際にdrawmerhod rotateを 使って回転しながら吹き飛ぶようにしようとスクリプト組んでたんですが ぜーん全上手くゆかないので、プレイアブルキャラ作成に逃避 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/318
319: 名前は開発中のものです。 [sage] 2022/04/12(火) 01:32:29.29 ID:vWluw1zD void slamSpin() { void self = getlocalvar("self"); void target = getlocalvar("Target"+self); if(target==NULL()) { target = getentityproperty(self, "grabbing"); setentityvar(self,3,NULL()); setlocalvar("Target" + self, target); } if(target!=NULL()) { if (getentityvar(self, 3)==NULL()){ setentityvar(self, 1, 36); setentityvar(self, 2, 16); setentityvar(self, 3, 69); } int zoom = getentityvar(self,2); int zoomfct = 256+(zoom*4); int rotate = getentityvar(self,1); if(rotate>=360) { setentityvar(self, 3, 99); } changedrawmethod(target, "enabled", 1); changedrawmethod(target, "rotate", rotate); changedrawmethod(target, "fliprotate", 1); changedrawmethod(target, "scalex", zoomfct); changedrawmethod(target, "scaley", zoomfct); changeentityproperty(target,"projectile",1); updateframe(target, 0); setentityvar(self, 1, rotate+=36); setentityvar(self, 2, zoom+=8); if(getentityvar(self,3)==99) { changedrawmethod(target, "rotate", 0); setentityvar(self,1,NULL()); setentityvar(self,2,NULL()); setentityvar(self,3,NULL()); depost(0); throw(999,1,0,4,3,0); changedrawmethod(target, "alpha", 3); spawnEF("crash",0,0,1,384,0); anichange("ANI_DODGE"); } } } http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/319
320: 名前は開発中のものです。 [sage] 2022/04/12(火) 01:51:05.23 ID:vWluw1zD 思ってたんと違ったけど、まあなんとか必殺投げが出来たので 最後の5行に別なスクリプトを呼んでますが、演出用なので 基本上のスクリプトをLooperという別なスクリプトで呼び出して使ってます。 動画のプレイヤーキャラ(黄色いの)が連続キックを繰り出しますが ああいう同じ動きをするとき便利なスクリプトで、殆どのユーザースクリプトに導入されていると思います。 @CMD Looper 3 5 という感じで7番目のFrame Data/〜に記述すると 3番目のFrame から6番目のFrame までを5回繰り返すというもの 標準コマンドのLoop だと延々と繰り返してしますので、Looper の便利さが分かるかと思います。 動画だと動画のフレームが跳んでしまって分かりにくいですが、 なんとなーく私のやりたいこと分かっていただけますでしょうか? tu.be/CRGXjQowAG8 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/320
321: 名前は開発中のものです。 [sage] 2022/04/12(火) 02:29:22.96 ID:vWluw1zD 上のスクリプトは汎用性はほぼ無し、条件設定として Health が25%切った相手を投げた際に30%の確立で発動な感じです (動画ではテスト用に発動条件ユルユルですが)。 なのでやっぱり 攻撃者のAttack5 などに、相手側がリアクションとして Pain5 や Fall5 を 設定しておいたほうが結果手間が掛からないかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/321
322: 名前は開発中のものです。 [sage] 2022/04/13(水) 00:14:16.67 ID:aDur5ZAn ピヨリについて、面倒だと思うよーとか適当な事言っておいて EntityVar に値を入れておけば楽だと思うよーとか超いい加減なことばっかレスしてるんで 一応作ってみました、結果そんなに苦労はないかも? 今回はプレイヤーがピヨリ値を蓄積し、一定に達すると4秒間ピヨリ レバガチャで時間短縮と成功でリバーサル攻撃。 内容は単純でAnim Pain実行時ピヨリ値をプラス、Anim Idleで少しづつピヨリ値減少 一定数たまったら、Executeanimationで”Ani_Follow{#}”でピヨピヨ実行 このとき、レバガチャEntityをプレイヤーにBindEntityして ガチャ成功するとリバーサル攻撃用のAnim_Follow{#}にExecuteanimationするというもの レバガチャEntityにはLifespan 4が設定してあって、4秒で自動消滅 CPU戦でピヨるとかウザイだけかもという認識でしたが、作ってみたら意外と良かったw tu.be/6iLBqsjC2eI http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/322
323: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:10:35.54 ID:aDur5ZAn anim pain @script if (frame==0) { void self = getlocalvar("self"); int incDM = getentityvar(self,9); if((incDM==NULL())||(incDM<=0)) { incDM=1; } incDM+=incDM; spawn01("dmflashsp", 0, 4, 0); if(incDM>=20) { executeanimation(self,openborconstant("ANI_Follow9")); } setentityvar(self,9,incDM); } @end_script ピヨリ蓄積部分もこんな感じで単純です。Anim Painの度に倍になってゆき、 数値20以上でピヨリAnim(Follow9)を実行。 anim idle @script if(frame==5) { void self = getlocalvar("self"); int incDM = getentityvar(self,9); if (incDM<=0) { setentityvar(self,9,NULL()); } if(incDM!=NULL()) { setentityvar(self,9,incDM-=1); } } @end_script アイドル状態でピヨリ値1ずつ減少。AnimのFrameが最後の方まで描画されたら 減少するようになってます。または、Anim Sleepを設定しておいて、 そちらで下がるようにしても良いかも。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/323
324: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:17:03.20 ID:aDur5ZAn script @script #include "data/scripts/escript.c" void main() { void self = getlocalvar("self"); void par = getentityproperty(self,"parent"); void vict = getentityproperty(par, "playerindex"); void vict2 = getplayerproperty(vict,"entity"); int HP = getentityproperty(self,"health"); int HPmax = getentityproperty(self,"maxhealth"); if(HP>=80) { spawn01("dmsuper", 0, 0, 1); executeanimation(vict2, openborconstant("ANI_Follow11")); bindentity(self, NULL()); killentity(self); } else if(playerkeys(vict, 2, "moveleft")) { // Left is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(vict, 2, "moveright")) { // Right is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(vict, 2, "attack")) { // Attack is pressed? changeentityproperty(self, "health", HP+2); } else if(playerkeys(vict, 2, "jump")) { // Jump is pressed? changeentityproperty(self, "health", HP+6); } } @end_script レバガチャ部分もシンプルで、方向キーで+4、アタック+2、ジャンプ+6で 80以上溜まったら成功(Follow11、リバーサル攻撃) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/324
325: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:25:34.49 ID:aDur5ZAn 2行目で #include "data/scripts/escript.c" してるのは、 成功時の演出 spawn01("dmsuper", 0, 0, 1);の為だけです。 anim spawn @script void self = getlocalvar("self"); changeentityproperty(self, "health", 1); @end_script 最初に Health 100(MaxHP)などと設定しておき、Anim Spawn時に 現HPを1にしています。 これを プレイヤーにBindEntity するのですが、スクリプト上方のSelf,Par,Vict,Vict2 ここを理解するのに頭こんがらがるかも知れませんね、元々他のモッダーさんが組んだ スクリプト(古くからあるのでBloodBane氏でしょうか?)をアレンジしましたです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/325
326: 名前は開発中のものです。 [sage] 2022/04/13(水) 04:05:16.91 ID:aDur5ZAn 元々、仕様とバグのギリギリいってる手法なので、 ピヨリ中にもう一回敵からのBindEntityを利用した攻撃を受けると OpenBoRが落ちますw やっぱり標準コマンドで何とかしたほうが良さそうですね。 レバガチャで回復早めるとかしなければ、EntityVarを使って 値を蓄積して、一定時間無防備になるというのは バグの危険なく可能です。 中々難しいものですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/326
327: 名前は開発中のものです。 [sage] 2022/04/17(日) 02:42:23.91 ID:xLR26ELd なんか煮詰まったので、プレイアブルキャラ作成に逃避。 ムゲンからキャラのインポート(聞こえが良いですね)。 ここで新たに、光弾問題に遭遇、どうもDBキャラはいろいろ撃ちますが、 単純に弾を撃つならCustKnifeなりで作ればよいし、誘導弾ならType NPCのSubType Chaseとかで 追尾させればよいのですが、なんとなく弾幕作りたいな〜とかやってドハマリ中。 通常攻撃とシンプルな特殊技はこんな感じかな? tu.be/_xQBhCUit8c http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/327
328: 名前は開発中のものです。 [sage] 2022/04/17(日) 03:48:50.61 ID:xLR26ELd SpawnEF S{vName} {X} {Y} {Z} {S} {A} {R} {Ani} ナニコレ? 私個人のスクリプトですが、上の動画でも多用されています。 XYZは単純に座標、SはScale(Zoom)AはAlpha(透明度)R(回転)Ani(Anim) 本来、複雑な手続きを簡略化するのもスクリプトのメリットの一つだと思いますが 色々出来るようにして、かえって煩雑になった悪例w ちゃんと設計やらしない大雑把な性格そのままです。 怪我の功名とでもいいますか、一つAnimがあれば回転拡大縮小をつかって さまざまなエフェクトに活用出来そう。 ただし、ソースを見ないと意味不明、ですが、自身のオリジナルではないので アップは憚れるという、ムゲンと共通のジレンマ。 オリジナルの作者様には尊敬しかないです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/328
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 328 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s